Java 的几种文件读取方式

  • Java,文件,
一个字节一个字节读
File file = new File(path);
FileInputStream fis = new FileInputStream(file);
int ch = 0;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
while((ch = fis.read()) != -1){
baos.write(ch);
}
baos.close();
fis.close();


字节数组
File file = new File(path);
FileInputStream fis = new FileInputStream(file);
byte[] buffer = new byte[1024];
ByteArrayOutputStream baos = new ByteArrayOutputStream();
int len = 0;
while((len = fis.read(buffer)) != -1){
baos.write(buffer,0,len);
}
fis.close();
baos.close();

一行一行地读
File file = new File(path);
BufferedReader br = new BufferedReader(new Filereader(file));
String string = null;
StringBuffer sb = new StringBuffer();
while((string = br.readLine()) != null){
sb.append(string);
}
br.close();

还有一些其他的方式,根据具体的需求选择。对于文件不是很大的情况下,效率都是很高的。ByteArrayOutputStream是很好的工具,能用的话,可以放心使用。StringBuffer 和 StringBuilder 的效率也都是很高的,不用太纠结使用哪个。

字节数组读取的方式效率是最高的。字节数组的大小不用设置太大,1024 和 10 * 1024 和 512 * 1024 最终耗时是差不多的。

相关文章

- EOF -

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动。
转载请注明:文章转载自 Binkery 技术博客 [https://binkery.com]
本文标题: Java 的几种文件读取方式
本文地址: https://binkery.com/archives/334.html