为什么会出现这种形式

为什么会出现这种形式

# 具体遇到的问题

http://img1.sycdn.imooc.com//climg/5f8fa247096de36d14000207.jpg
# 相关课程内容截图

# 尝试过的解决思路和结果

# 粘贴全部相关代码,切记添加代码注释(请勿截图)

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();

}

}


}


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,那个显示出来的方框是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数组中读取出来的数据生成字符串。这样就不会有后面的内容了。

祝学习愉快

  • 那为什么课程上没有出现gaiwt

    搜索

    复制

    2022-02-16 02:38:13
  • 同学你好,同学是想问课程中没有出现方框吗,如果是,这种情况会跟编译器版本以及运行环境等有关,并不是所有电脑都会出现该问题

    祝学习愉快~

    2022-02-16 11:17:39
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师