java7快速读写文件
1.打开文件
Java 7可以直接用带缓冲区的读取器和写入器或输入输出流(为了和以前的Java I/O代码兼容)打开文件。下面的代码演示了Java 7如何用Files.newBufferedReader方法打开文件并按行读取其中的内容。
BufferedWriter writer=Files.newBufferedWriter(path, Charset.forName("utf-8"))
注意编码的设置,以防乱码。
打开一个用于写入的文件也很简单。 注意StandardOpenOption.WRITE选项的使用,这是可以添加的几个OpenOption变参之一。它可以确保写入的文件有正确的访问许可。其他常用的文件打开选项还有READ和APPEND。
BufferedWriter writer=Files.newBufferedWriter(path, Charset.forName("utf-8"), StandardOpenOption.APPEND);
2.简化读取和写入 辅助类Files有两个辅助方法,用于读取文件中的全部行和全部字节。也就是说你没必要再用while循环把数据从字节数组读到缓冲区里去。
完整示例代码
package java7;
import java.io.BufferedWriter;
import java.io.IOException;
import java.nio.charset.Charset;
import java.nio.file.*;
import java.util.List;
/** * Created by xieqiang on 2017/3/30. */public class QuickReadAndWrite{
public static void main(String[] a) throws IOException { Path path= Paths.get("/Users/xieqiang/test.txt"); try( //如果文件存在则直接打开,否则创建文件
BufferedWriter writer=Files.newBufferedWriter(path, Charset.forName("utf-8"));
//可以指定打开文件的模式,这里表示追加文件
//BufferedWriter writer=Files.newBufferedWriter(path, Charset.forName("utf-8"), StandardOpenOption.APPEND);
) {
writer.write("hello,java7,我是不迷失");
writer.newLine();
writer.write("test");
System.out.println("ok");
}
List lines= Files.readAllLines(path);
System.out.println(lines);
}
}
@不迷失|知识改善生活
专注技术研究与视频教学,分享有价值的技术与经验,关注程序员的发展!
微信公众号:java技术(javajidi_com)
技术交流群:245130488
教学视频