1.字符输入流
1.FileReader
关系图
1.相关方法
- new FileReader(File/String);
- read 每次读取单个字符,返回该字符,如果到文件末尾返回-1;
- read(char []) 批量读取多个字符到数组,返回读取到的字符数,如果到文件末尾返回-1;
2.相关API
- new String(char[]) 将char[]转换成String;
- new String(char[],off,len) 将char[]的指定部分转换成String;
3.代码案例
@Test
public void reader1(){
String filePath = "d:\\111.txt";
try(FileReader fileReader = new FileReader(filePath)){
char[] chars = new char[8];
//批量读取内容
while ((fileReader.read(chars))!=-1){
System.out.println(new String(chars));
}
/* int readLen = 0;
while ((readLen=fileReader.read())!=-1){
System.out.print((char)readLen);
}*/
}catch (IOException e){
e.printStackTrace();
}
}
1.字符输出流
1.FileWriter
关系图
1.相关方法
- new FileWriter(File/String) 覆盖模式,相当于流的指针在首端;
- new FileWriter(File/String,true) 追加模式,相当于流的指针在尾端;
- write(int) 写入单个字符;
- write(char[]) 写入指定数组;
- write(char[],off,len) 写入指定数组的指定部分;
- write(string) 写入整个字符串;
- write(string) 写入字符串的指定部分;
相关API:String类的toCharArray,将String转换成char[]
2.注意
FileWriter使用后,必须要关闭(close)或刷新(flush),否则写入不到指定的文件。
3.代码案例
@Test
public void writer1(){
String filePath = "d:\\111.txt";
try(FileWriter fileWriter = new FileWriter(filePath,true)){
//加true会追加内容在文件后面
fileWriter.write("你好吗1111?");
fileWriter.write("水电费水电费水电费是的".toCharArray());
} catch (IOException e) {
e.printStackTrace();
}
}