【问题标题】:reading a file through input streams in java通过java中的输入流读取文件
【发布时间】:2017-01-16 20:14:43
【问题描述】:

在下面的代码中,执行流程是如何被引导的。(“i”是如何更新(或增加)的?

while((i=fr.read())!=-1)
{ System.out.print((char)i);
} 

- 查看更多信息:http://tutorialspointexamples.com/filereader-and-filewriter-in-java/#sthash.QxSyiKRe.dpuf

【问题讨论】:

    标签: java-io


    【解决方案1】:

    Filereader.read 读取单个字符。它返回一个 int,表示读取的字符。

    在你的代码中

    while((i=fr.read())!=-1)
    { 
       System.out.print((char)i);
    } 
    

    (i=fr.read()) 首先解析,给你读取的字符。 while 循环将在每次循环时解决这个问题,在文件中移动。

    然后,外部 while 将该值与 -1 进行比较。

    • 如果是,则 while 循环结束。
    • 如果不匹配,则输出字符。

    【讨论】:

    • 但是循环如何进行,因为循环中没有更新计数器变量(在本例中为 i)。
    • i 不是计数器变量。 i 是读取调用返回的值。 fr 有一个内部文件指针 - read 只是告诉它读取下一个字符。见tutorialspoint.com/java/java_filereader_class.htm
    • @pradeep 换句话说,当没有更多字符要读取时,i 将被设置为-1,并且循环将终止
    猜你喜欢
    • 1970-01-01
    • 2012-05-03
    • 1970-01-01
    • 1970-01-01
    • 2013-07-16
    • 2015-01-14
    • 2014-12-04
    • 2021-01-26
    • 1970-01-01
    相关资源
    最近更新 更多