n = fis.read 里的n到底是啥意思

n = fis.read 里的n到底是啥意思

我读取26个字母的n值咋都是100多呢 字母不是只占两个字节吗 为什么会是100多?

正在回答 回答被采纳积分+1

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

2回答
吃吃吃鱼的猫 2019-04-25 17:20:49

同学你好,n在程序里表示读到的字节,可以发现,将n强转为char类型时,每次输出的值为从文本中读到的值。因为char本身在码表中可以用数字表示的,所以直接输出n会是它码表中的数字。

http://img1.sycdn.imooc.com//climg/5cc17acd000124a009730513.jpg

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

吃吃吃鱼的猫 2019-04-25 15:42:02

同学你好,

n表示read方法的返回值,是指每次读入的字节总数,如果已经到达文件末尾而没有更多的数据,则返回-1。

同学可以贴出完整的代码,老师会根据同学的代码解释为什么n都是100多。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 提问者 carlcs #1
    import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; /** * Created by liu_changshi on 2019/4/25. */ public class fileInputStreamTest { public static void main(String[] args) { try { FileInputStream fis = new FileInputStream("speech.txt"); int n = 0; int i = 0; try { while((n=fis.read())!=-1){ i++; System.out.println(n); } System.out.println(i); fis.close(); } catch (IOException e) { e.printStackTrace(); } } catch (FileNotFoundException e) { e.printStackTrace(); } } } 输出结果是 这里我没用char 读入的字节总数是什么意思呢 读取的过程是怎么样的呢 113 119 101 114 116 121 117 105 111 112 97 115 100 102 103 104 106 107 108 122 120 99 118 98 110 109 26
    2019-04-25 15:49:37
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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