文件字符流
FileReader
read每一次读取单个字符,返回该字符,如果到文件末尾则返回-
read(char[ ]):批量读取多个字符到数组,返回读取到的字符数,如果到文件末尾返回-
new String(char[] )将char[]转换成String
new String(char[],off,len):将char[]的指定部分转换为String
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| import java.io.FileReader; import java.io.IOException;
public class Test { public static void main(String[] args) throws IOException { Test test=new Test(); test.fileReader(); } public void fileReader() throws IOException { String filePath="D:\\壁纸\\hello.txt"; FileReader fileReader=new FileReader(filePath); int flag; while ((flag=fileReader.read())!=-1){ System.out.print((char)flag); } fileReader.close(); } }
|
1 2 3 4
| char []buff=new char[5]; while ((flag=fileReader.read(buff))!=-1){ System.out.print(new String(buff,0, buff.length)); }
|
FileWrite
在这里也可以分别使用追加模式和覆盖模式,在构造器中加入true可以使其在尾端加上
当我们使用之后,必须关闭该对象或者刷新,否则这个不会到文件中
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| import java.io.FileReader; import java.io.FileWriter; import java.io.IOException;
public class Test { public static void main(String[] args) throws IOException { Test test=new Test(); test.fileWrite(); } public void fileWrite() throws IOException { String filePath="D:\\壁纸\\hello.txt"; FileWriter fileWriter=new FileWriter(filePath,true); String content="风雨之后,即见彩虹"; fileWriter.write(content); fileWriter.write(content,1,3); fileWriter.write('g'); fileWriter.close(); } }
|