前面对文件创建进行了解读,本章对文件读写进行解读
传统的IO操作
读取
- FileReader.read();
FileReader reader=new FileReader("F:/text.txt");
int c=0;
char[] buf=new char[1024];
while( (c=fr.read(buf))!=-1 ){
sout((new String(buf,0,c)));
}
- BufferedReader.readline();
BufferedReader in=new BufferedReader(new FileReader(fileName));
line=in.readLine();
while (line!=null)
{
System.out.println(line);
line=in.readLine();
}
in.close();
操作完成后都需要关闭流
写入
- FileWriter实例的方法write( string );
FileWriter writer=new FileWriter("F:/text.txt");
writer.write("text\n");
writer.close();
- BufferedWriter实例的方法write( string );
BufferedWriter out=new BufferedWriter(new FileWriter("F:/text.txt"));
out.write("text");
out.newLine();
out.close();
操作完成后都需要关闭流
NIO操作
读取
-
//全部读取 byte[] data = Files.readAllBytes( Paths.get("F:/text.txt") );
-
//全部行读取 List<String> lines = Files.readAllLines(Paths.get("F:/text.txt"));
写入
-
//写入文件 Files.write(Paths.get("F:/text.txt"), "text\n".getBytes());
-
//文件追加 Files.write(Paths.get("F:/text.txt"), "text\n".getBytes(),StandardOpenOption.APPEND);
Files其他方法
InputStream ins = Files.newInputStream(Paths.get("F:/text.txt"));
OutputStream ops = Files.newOutputStream(Paths.get("F:/text.txt"));
Reader reader = Files.newBufferedReader(Paths.get("F:/text.txt"));
Writer writer = Files.newBufferedWriter(Paths.get("F:/text.txt"));