小编Aza*_*ssa的帖子

if ((i = fis.read()) != -1) 在此程序中到底意味着什么?

package IO;
import java.io.*;
public class test {

public static void main(String[] args) throws IOException {
    File f1 = new File("C:\\Users\\rs\\New folder\\myname.txt");
    try {
        FileInputStream fis = new FileInputStream(f1);
        int i = fis.read();     
        System.out.print((char)i);
        while((i = fis.read())!= -1) {
            System.out.print((char) i );
        }
        
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    

 }

}
Run Code Online (Sandbox Code Playgroud)

我是一名新的java程序员,我在这段代码中遇到了麻烦。这段代码从我的文件(f1)中读取字节,我可以将这些字节转换为 char 并打印它们,但是这里有些东西我不明白,它是我的 while 循环中的条件。它到底意味着什么?我的意思到底是什么if ((i = fis.read()) != -1)意思???第二个问题是为什么我们要加 i = fis.read()括号???我的文件中有一个文本(1 行)。

java

3
推荐指数
1
解决办法
2199
查看次数

标签 统计

java ×1