在Java里处理文件的技巧
写这篇Blog,主要是因为看到太多的凌乱的,不安全的处理文件的代码了。甚至可以说每个项目都会有人喜欢写自己的一些FileUitl。
下面介绍一些利用JDK7标准库来灵活处理文件的方法。
实用的工具类,Path,Paths,Files,FileSystem
有一些很灵活的处理方法:
//得到一个Path对象Path path = ('/test/');//Path转换FileFile file = (); (path);(path);(path);
正确拼接路径不要手动拼接路径不好的代码:
String game = 'foo'; File file = new File('~/test/' + game + '.txt');
即使是要手动拼接路径,请使用下面两个平台无关的变量:
(); ();
正确简洁的方法是使用Paths类:
Path path = ('~/test/', 'foo', 'bar', ''); (path); // ~/test/foo/bar/
读取文件的所有内容,文件的所有行
读取文件所有内容前,先判断文件大小,防止OOM。
public static byte[] readAllBytes(String fileName, long maxSize) throws IOException { Path path = (fileName); long size = (path); if (size > maxSize) { throw new IOException('file: ' + path + ', size:' + size + '> ' + maxSize); } return (path); } public static List readAlllines(String fileName, Charset charset, long maxSize) throws IOException { Path path = (fileName); long size = (path); if (size > maxSize) { throw new IOException('file: ' + path + ', size:' + size + '> ' + maxSize); } return (pa
在Java里处理文件的技巧 来自淘豆网m.daumloan.com转载请标明出处.