java.nio.file.Files 一行一行读取文件

JDK1.7中引入了新的文件操作类java.nio.file这个包,
其中有个Files类它包含了很多有用的方法来操作文件,比如检查文件是否为隐藏文件,
或者是检查文件是否为只读文件。开发者还可以使用Files.readAllBytes(Path)方法把整个文件读入内存,
此方法返回一个字节数组,还可以把结果传递给String的构造器,以便创建字符串输出。
此方法确保了当读入文件的所有字节内容时,无论是否出现IO异常或其它的未检查异常,
资源都会关闭。这意味着在读文件到最后的块内容后,无需关闭文件。
要注意,此方法不适合读取很大的文件,因为可能存在内存空间不足的问题。
开发者还应该明确规定文件的字符编码,以避免任异常或解析错误。


public class BufferAndChannel {
	public static void main(String[] args) {
		//如果是文本文件也可以这么读  调用readAllLines 方法
		try {								//JDK1.8以后可以省略第二个参数,默认是UTF-8编码
			List<String> lines = Files.readAllLines(Paths.get("C:\\FileChannelImpl.java"), StandardCharsets.UTF_8);
			StringBuilder sb = new StringBuilder();
			for (String line : lines) {
				sb.append(line+"\n");//  \r\n  换行符
			}
			String fromFile = sb.toString();
			System.out.println(fromFile);
 
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

猜你喜欢

转载自blog.csdn.net/ldqchat/article/details/82691272
今日推荐