这个 java 程序中存储的变量 "data" 是什么?

what is the variable "data" storing in this java program?

我的代码正在运行。我只需要了解代码中特定变量的作用。

我试图打印变量 "data" 中的值,但它给了我一些我无法理解的数字。

public static void main(String[] args) throws IOException {

    FileInputStream fileinputstream = new FileInputStream ("c:\Users\USER\Desktop\read.TXT");

    FileOutputStream fileoutputstream = new FileOutputStream("c:\Users\USER\Desktop\write.TXT");

    while (fileinputstream.available() > 0) {
        int data = fileinputstream.read();                                                       
        fileoutputstream.write(data);
    }

    fileinputstream.close();
    fileoutputstream.close();
}

FileInputStream#read() 从基础文件中读取一个字节的信息。

由于这些文件是文本文件(根据它们的扩展名),您可能应该使用 FileInputStream,而不是 FileReader 来正确处理字符,而不是构成它们的字节向上。

您可以查看 FileInputStream.readdocs,其中显示:

Reads a byte of data from this input stream. This method blocks if no input is yet available.

Returns:

the next byte of data, or -1 if the end of the file is reached.

所以你得到的整数(即存储在data中的数字)是从文件中读取的字节。由于您的文件是文本文件,因此它是该文件中字符的 ASCII 值(假设您的文件是用 ASCII 编码的)。

fileinputstream.read() returns "the next byte of data, or -1 if the end of the file is reached."

你可以阅读更多here