字符流
字符流 : 只能操作纯文本的内容 属于节点流
纯文本示例: .txt .html
Reader 字符输入流 超类 不能实例化
FileReader 文件字符输入流
Writer 字符输出流 超类 不能实例化
FileWriter 文件字符输出流
字符输入流 代码
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;
/**
* @author 黑羽-孤高之银风
* 1.创建源
* 2.选择流 reader
* 3.操作
* 4.释放资源
*
*/
public class IOTest05 {
public static void main(String[] args) {
//1 set up source
File src = new File("C:/Users/高银/Desktop/start.txt");
//2 choose io
Reader reader = null;
try {
reader = new FileReader(src);
//3 opreater
int len = -1;
char[] flush = new char[1024];
if ((len=reader.read(flush))!=-1) {
reader.read(flush);
String string = new String(flush,0,len);
System.out.println(string);
}
} catch (Exception e) {
// TODO: handle exception
}finally {
if (reader!=null) {
try {
reader.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
字符输出流 代码
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;
import java.io.Writer;
/**
* @author 黑羽-孤高之银风
* 1.创建源
* 2.选择流 Writer
* 3.操作
* 4.释放资源
* 注意3有不同写法
* //写法1
* String msg = "字符串1\r\n字符串2";
* char[] datas = msg.toCharArray();
* Writer.write(datas,0,datas.length)
*
* //写法2
* String msg = "字符串1\r\n字符串2";
* char[] datas = msg.toCharArray();
* Writer.write(datas,0,datas.length)
*
* //写法3
*writer.append(字符串1\r\n).append(字符串2);
*/
public class IOTest06 {
public static void main(String[] args) {
//1 set up source
File src = new File("C:/Users/高银/Desktop/start.txt");
//2 choose io
Writer writer = null;
try {
writer = new FileWriter(src) ;
//3 opreater
String msg = "俺十分难看" ;//书写字符串
char[] flush = msg.toCharArray();//给数组赋值
writer.write(flush);//输出
writer.flush();//刷出
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
//4 close
if (writer!=null) {
try {
writer.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}