为什么会出现这种形式
# 具体遇到的问题
#
# 相关课程内容截图
# 尝试过的解决思路和结果
# 粘贴全部相关代码,切记添加代码注释(请勿截图)
package com.imooc.stream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class FileInputDemo2 {
public static void main(String[] args) {
//常见一个FileInputStream对象
try {
FileInputStream fis=new FileInputStream("imooc.txt");
byte[] b=new byte[100];
fis.read(b,0,5);
System.out.println(new String(b));
fis.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}catch(IOException e) {
e.printStackTrace();
}
}
}
正在回答
同学你好,那个显示出来的方框是byte数组中的字符,byte数组的长度是100,实际数据的长度不到100,使用new String(b)生成的字符串是整个byte数组。
同学可以将fis.read(b);改成int n=fis.read(b);n表示实际读取的字符数。new String(b)改成new String(b,0,n);也就是把byte数组中读取出来的数据生成字符串。这样就不会有后面的内容了。
祝学习愉快
- 参与学习 人
- 提交作业 9393 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星