FileWriter的效果等同于OutputStreamWriter+FileOutputStream
FileWriter的两个构造方法和OutputStreamWriter的两个构造方法参数一致
FileReader的效果等同于InputStreamReader+FileInputStream
FileReader的构造方法和InputStreamReader的构造方法类似
FileWriter常用方法
write(int n)
write(String str)
write(String str, int offset, int len)
write(char[] cbuf)
write(char[] cbuf, int offset, int len)
FileReader常用方法
int read();
int read(char[] cbuf, int offset, int length);
int read(char[] cbuf);
举个栗子
package com.wondream.myframework.app.basictest.io;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.junit.jupiter.api.Test;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
public class FileReaderWriterTest {
Log logger = LogFactory.getLog(FileReaderWriterTest.class);
@Test
public void execute(){
FileReader fr = null;
FileWriter fw = null;
try{
File file = new File("./logs/fileReaderWriter.txt");
fw = new FileWriter(file);
fw.write("我是渣渣辉!");
fw.flush();
fr = new FileReader(file);
int dataLen = -1;
int bufferLen = 1024*100;
char[] buffer = new char[bufferLen];
if((dataLen = fr.read(buffer, 0, bufferLen))!=-1){
logger.info(new String(buffer, 0, dataLen));
}
} catch (Exception e){
} finally {
try {
if(fr!=null){
fr.close();fr = null;
}
if(fw!=null){
fw.close();fw = null;
}
} catch (Exception e){}
}
}
}