0 java byte inputstream file bufferedreader
我需要使用Java从文件加载字节.这是正确的吗 ?
InputStream ips=new FileInputStream(file);
InputStreamReader ipsr=new InputStreamReader(ips);
BufferedReader br=new BufferedReader(ipsr);
String line;
String cle = "" ;
while ((line=br.readLine())!=null){
cle+=line
}
---> cle.getBytes()
Run Code Online (Sandbox Code Playgroud)
不,这绝对不是这样做的方式:
readLine)你很可能以这种方式丢失数据.
要加载字节,你根本不应该使用Reader- 只需使用InputStream.理解二进制数据和文本数据不一样非常重要.将他们中的任何一个视为另一个是一个非常糟糕的主意.
如果您只想阅读文件中的所有数据,我会亲自使用Guava及其Files类:
byte[] data = Files.toByteArray(file);
Run Code Online (Sandbox Code Playgroud)
或者如果你已经有了InputStream,请使用ByteStreams:
byte[] data = ByteStreams.toByteArray(inputSTream);
Run Code Online (Sandbox Code Playgroud)
这也适用InputSupplier.
| 归档时间: |
|
| 查看次数: |
204 次 |
| 最近记录: |