【发布时间】:2018-11-07 00:24:01
【问题描述】:
我认为只有i的值被改变了,但为什么是fileInputStream.read()?
import java.io.*;
public class FileStream_byte1 {
public static void main(String[] args) throws IOException {
FileOutputStream fOutputStream = new FileOutputStream("FileStream_byte1.txt");
fOutputStream.write(-1);
fOutputStream.close();
FileInputStream fileInputStream = new FileInputStream("FileStream_byte1.txt");
int i;
System.out.println(" " + fileInputStream.read());
fileInputStream.close();
}
}
//结果是255
import java.io.*;
public class FileStream_byte1 {
public static void main(String[] args) throws IOException {
FileOutputStream fOutputStream = new FileOutputStream("FileStream_byte1.txt");
fOutputStream.write(-1);
fOutputStream.close();
FileInputStream fileInputStream = new FileInputStream("FileStream_byte1.txt");
int i ;
while ((i = fileInputStream.read()) != -1)
System.out.println(" " + fileInputStream.read());
fileInputStream.close();
}
}
//结果为-1
【问题讨论】:
-
第一个sn-p中应该有一个
while循环类似于第二个sn-p吗?在您写入/读取文件之前,您的文件中是否还有其他文本? -
我不知道,但我想知道的一点是“i = fileInputStream.read()”只是改变了i的值,不是吗?相同的一点是它们都打印 (" " + fileInputStream.read())
-
您只是想知道为什么
-1是您第二个示例的结果吗?或者您是否还想知道为什么255是第一个示例的结果,即使您将-1写入文件? -
while循环每次都改变read()的值吗?我认为 read() 的值是一个常数。
-
以下任何一个答案都可以回答您的问题。如果是这样,请考虑投票和/或接受