已有259人关注
Java从入门到精通 例15.3 和答案一样的代码,为什么要我抛出?
发表在Java答疑区 2017-06-11
是否精华
版块置顶:

import java.io.*;


public class FileTest {

public static void main(String[] args)  {

File file = new File("word.txt");

try {

FileOutputStream out = new FileOutputStream(file);

byte byt[] = "我有一只小毛驴,我从来也不骑".getBytes();

out.write(byt);

out.close();

} catch (Exception e) {

e.printStackTrace();

}

try {

FileInputStream in = new FileInputStream(file);

byte byt[] = new byte[1024];

int len = in.read(byt);

System.out.println("文件中的信息是:" +new String(byt));

in.close();

} catch (FileNotFoundException e) {

e.printStackTrace();

}


}

}

问题1:为什么会有如下报错(加粗部分代码 添加抛出声明后就可以正常运行)而答案中的代码复制进Eclipse不报错?

Exception in thread "main" java.lang.Error: 无法解析的编译问题:

未处理的异常类型 IOException

未处理的异常类型 IOException


at FileTest.main(FileTest.java:17)

问题2:其中(加粗部分)代码

System.out.println("文件中的信息是:" +new String(byt));

和答案中的

System.out.println("文件中的信息是:" + new String(byt, 0, len));

都可以正常运行 为什么答案中要写成new String(byt, 0, len)。


分享到:
精彩评论 2
David
学分:914 LV7
TA的每日心情
最后的冲刺
2017-07-15 10:46:08
2017-06-12
沙发

(1)

QQ截图20170612092548.png

把红线标记处的“FileNotFoundException”修改为“Exception”。

(2)当输出文件中的所有内容时,new String(byt)和new String(byt, 0, len)的作用是相同的,但是new String(byt, 0, len)的好处在于可以从指定索引的字节开始输出,例如new String(byt, 16, len)输出的就是“我从来也不骑”。

chenbaojunjava
学分:58 LV3
2017-06-12
板凳

David 发表于2017-06-12 09:42

(1)

QQ截图20170612092548.png

把红线标记处的“FileNotFoundException”修改为“Exception”。

(2)当输出文件中的所有内容时,new String(byt)和new String(byt, 0, len)的作用是相同的,但是new String(byt, 0, len)的好处在于可以从指定索引的字节开始输出,例如new String(byt, 16, len)输出的就是“我从来也不骑”。

byte byt[] = "我有一只小毛驴,我从来也不骑".getBytes();


byte byt[] = new byte[1024];


这两段代码是什么语法?创建byt数组 不是应该 

 byte bye[]={元素去,元素2,元素....}

首页上一页 1 下一页尾页 2 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照