Java一次读取文本文件所有内容(已知编码)
2014-10-13 15:23
274 查看
对于某些小文件或一些其他情况,可以一次性将文本的原始内容直接读取到内存中再做处理,思路简单明了。
读取文件效率最快的方法就是一次全读进来,很多人用readline()之类的方法,可能需要反复访问文件,而且每次readline()都会调用编码转换,降低了速度,所以,在已知编码的情况下,按字节流方式先将文件都读入内存,再一次性编码转换是最快的方式,典型的代码如下:
这种方法的好处是读取的内容可以彻底保持文件的原貌,而且速度应该是最快的,因为只需要调用一次文件访问,字符编码转换也只需要一次。
转自:http://hi.baidu.com/bluejade_zhou/item/2ae714b38c8ef1a1eaba939b
读取文件效率最快的方法就是一次全读进来,很多人用readline()之类的方法,可能需要反复访问文件,而且每次readline()都会调用编码转换,降低了速度,所以,在已知编码的情况下,按字节流方式先将文件都读入内存,再一次性编码转换是最快的方式,典型的代码如下:
/** * 将文本文件的内容读入String变量中 * @param fileName 文件名 * @return 保存文本文件的String变量 */ public String readToString(String fileName) { String encoding = "GBK"; File file = new File(fileName); Long filelength = file.length(); byte[] filecontent = new byte[filelength.intValue()]; try { FileInputStream in = new FileInputStream(file); in.read(filecontent); in.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } try { return new String(filecontent, encoding); } catch (UnsupportedEncodingException e) { System.err.println("The OS does not support " + encoding); e.printStackTrace(); return null; } }
这种方法的好处是读取的内容可以彻底保持文件的原貌,而且速度应该是最快的,因为只需要调用一次文件访问,字符编码转换也只需要一次。
转自:http://hi.baidu.com/bluejade_zhou/item/2ae714b38c8ef1a1eaba939b
相关文章推荐
- Java一次读取文本文件所有内容(已知编码)
- Java一次读取文本文件所有内容(已知文件编码)
- Java一次读取文本文件所有内容
- Java一次读取文本文件所有内容
- Java一次读取文本文件所有内容
- Java一次读取文本文件所有内容
- Java一次读取文本文件所有内容
- 一次读取文本文件的所有内容到std::string
- java自动根据文件内容的编码来读取避免乱码
- 一次读取文件中所有内容
- java读取文件夹里的所有xml文件内容
- Java自动根据文件内容的编码来读取避免乱码
- 开启一个文本文件,一次读取其内的一行文本。令每一行形成一个String,并将读出的String对象置于LinkedList中。请以相反次序印出LinkedList内的所有文本行
- 一次读取文件中所有内容
- Java_IO流_按行读取文本文件的内容并按行写入到另一文件
- Java如何识别并读取不同编码的文本文件
- java--Java如何识别并读取不同编码的文本文件
- java自动根据文件内容的编码来读取避免乱码
- Java 小例子:按指定的编码读取文本文件内容
- Java读取文本文件内容