FileWriter 字符输出流
使用FileWriter 一定要关闭(close)或者刷新(flush) 否则内容任在内存中 不会写入到目标文件
@Test
//使用FileWriter 一定要关闭(close)或者刷新(flush) 否则内容任在内存中 不会写入到目标文件
public void write01(){
String data = "hello";
String filePath = "E:\\FileWriter.txt";
FileWriter fileWriter = null;
try {
fileWriter = new FileWriter(filePath);
//01.write(int) 写入单个字符
fileWriter.write('h'+"\n");//"\n"用于换行 直接输出就行
//02.write(char[] c) 写入指定字符数组
fileWriter.write(data.toCharArray());
//03.write(char[] c,off,len)写入指定字符数组的指定部分
fileWriter.write(data.toCharArray(),0,1);
//04.write(String s)写入字符串
fileWriter.write(data);
//05.write(String s,off,len)写入字符串的指定部分
fileWriter.write(data,0,1);
} catch (IOException e) {
e.printStackTrace();
}
finally {
try {
fileWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
FileReader 字符输入流
read()方法和read(char[] c)方法
@Test
//read()方法
public void read01(){
int data = 0;
FileReader fileReader = null;
String filePath = "E:\\FileReader.txt";
try {
fileReader = new FileReader(filePath);
//循环读取 使用read()方法逐个字符读取
//返回读取的字符 若无字符可读取则返回-1
while ((data = fileReader.read()) != -1) {
System.out.print((char) data);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
fileReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
@Test
//read(char[] c)方法
public void read02(){
int readLen = 0;
char[] buf = new char[10];
FileReader fileReader = null;
String filePath = "E:\\FileReader.txt";
try {
fileReader = new FileReader(filePath);
//循环读取 使用read(char[] c)方法通过字符数组读取
//返回读取的字符数 若无字符可读取则返回-1
while ((readLen = fileReader.read(buf)) != -1){
System.out.print(buf);
}
} catch (IOException e) {
e.printStackTrace();
}
finally {
try {
fileReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}