文件字符流
FileReader
通过字符的方式读取文件,仅适合字符文件
package com.io.cx2;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;
/**
* 四个步骤: 分段读取 文件字符输入流
* 1、创建源
* 2、选择流
* 3、操作
* 4、释放资源
*/
public class test05 {
public static void main(String[] args) {
//1、创建源
File src = new File("dest.txt");//与编译器的字符集保持一致
//2、选择流
Reader reader =null;
try {
reader =new FileReader(src);
//3、操作 (分段读取)-字符数组
char[] flush = new char[1024]; //缓冲容器
int len = -1; //接收长度
while((len=reader.read(flush))!=-1) {
//字符数组-->字符串
String str = new String(flush,0,len);
System.out.println(str);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
//4、释放资源
try {
if(null!=reader) {
reader.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
FileWriter
通过字节的方式写出或追加数据到文件中,仅适合字符文件
package com.io.cx2;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
/**
* 文件字符输出流
*1、创建源
*2、选择流
*3、操作(写出内容)
*4、释放资源
*/
public class test06 {
public static void main(String[] args) {
//1、创建源
File dest = new File("dest.txt");
//2、选择流
Writer writer =null;
try {
writer = new FileWriter(dest);
//3、操作(写出)
// //写法一
// String msg ="新建的文件";
// char[] datas =msg.toCharArray(); // 字符串-->字符数组
// writer.write(datas,0,datas.length);
// //写法二
//直接把数据放进去
// String msg ="新建的文件";
// writer.flush();
//
//写法三
//数据可以直接丢入字符串,用append可以附加,始终返回this对象——类似stringBuilder
writer.append("新建的文件1").append("新建的文件2");
writer.flush();
}catch(FileNotFoundException e) {
e.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}finally{
//4、释放资源
try {
if (null != writer) {
writer.close();
}
} catch (Exception e) {
}
}
}
}