Files类读写文件的基本使用
Posted 背时的哥哥
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Files类读写文件的基本使用相关的知识,希望对你有一定的参考价值。
1.传统的输入/输出流或读入器/写入器操作文件读写
:输入/输出流
// InputStream in = new FileInputStream(new File("D://test.txt"));
// byte[] bytes = new byte[1024];
// BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(new FileOutputStream(new File("D://test1.txt")));
// int len = 0;
// while ((len = in.read(bytes))!=-1){
// bufferedOutputStream.write(bytes,0,len);
// bufferedOutputStream.flush();
// }
// bufferedOutputStream.close();
// in.close();
---------------------------------------------------------------------------------------------
:读入器/写入器
// byte[] bytes = Files.readAllBytes(Paths.get("D://test.txt"));
// Files.write(Paths.get("D://test1.txt"),bytes);
// BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(new File("D://test.txt"))));
// String str = null;
// while ((str = bufferedReader.readLine())!=null){
// System.out.println(str);
// }
// bufferedReader.close();
2.Files类操作文件读写
byte[] bytes = Files.readAllBytes(Paths.get("D://test.txt"));
Files.write(Paths.get("D://test1.txt"),bytes);
-------------------------------------------------------------------------------
final List<String> strings = Files.readAllLines(Paths.get("D://test.txt"));
for (String str : strings){
System.out.println(str);
}
对比可以看出,通过Files类操作文件使得代码量大幅减少,同时无需关心流的关闭和资源的释放,使得文件可一次性读入与写出。但同时我们也可以看出Files类的简便方法只适用于中等长度的文本文件,因为如果遇到文件长度比较大的文件按一次性读入全部文件所需的物理空间要求会很多,所以如果要处理的文件长度比较大,还是应选用传统的读写操作;
以上是关于Files类读写文件的基本使用的主要内容,如果未能解决你的问题,请参考以下文章