我们都习惯于一次把文本的原始内容直接读取到内存中再做处理(暂时不考虑内存大小),这样做效率也会提高。很多人用readline()之类的方法,可能 需要反复访问文件,而且每次readline()都会调用编码转换,降低了速度,所以,在已知编码的情况下,按字节流方式先将文件都读入内存,再一次性编 码转换是最快的方式,这种方法的好处是读取的内容可以彻底保持文件的原貌,而且速度应该是最快的,因为只需要调用一次文件访问,字符编码转换也只需要一次。上面的代码我都是默认的编码,文件编码不同,道理都是一样的!!!如:
public static void main(String[] args) throws Exception { File f = new File("d:\\feature_meta.json"); Long fileLens = f.length(); byte[] content = new byte[fileLens.intValue()]; FileInputStream fs = new FileInputStream(f); fs.read(content); fs.close(); String s = new String(content,"UTF-8"); System.out.println(s); }
时间: 2024-10-17 01:48:41