use*_*598 3 java bytearray fileinputstream java-io
我试图使用FileInputStream基本上读取文本文件,然后将其输出到不同的文本文件中.但是,当我这样做时,我总是会得到非常奇怪的角色.我确信这是我犯的一个简单的错误,感谢任何帮助或指向我正确的方向.这是我到目前为止所得到的.
File sendFile = new File(fileName);
FileInputStream fileIn = new FileInputStream(sendFile);
byte buf[] = new byte[1024];
while(fileIn.read(buf) > 0) {
System.out.println(buf);
}
Run Code Online (Sandbox Code Playgroud)
它正在读取的文件只是一个普通ASCII字符的大文本文件.然而,每当我执行system.out.println时,我得到输出[B @ a422ede.关于如何使这项工作的任何想法?谢谢
发生这种情况是因为您打印的是字节数组对象本身,而不是打印其内容.您应该从缓冲区和长度构造一个String,然后打印该String.用于此的构造函数是
String s = new String(buf, 0, len, charsetName);
Run Code Online (Sandbox Code Playgroud)
在上面,len应该是read()方法调用返回的值.charsetName应表示基础文件使用的编码.
| 归档时间: |
|
| 查看次数: |
2068 次 |
| 最近记录: |