Java 为什么结果是2 4 6 8 10? 公共类TestFileStream{ 公共静态void main(字符串[]args)引发IOException{ FileOutputStream输出=新的FileOutputStream(“temp.dat”); 对于(int i=1;i
您在Java 为什么结果是2 4 6 8 10? 公共类TestFileStream{ 公共静态void main(字符串[]args)引发IOException{ FileOutputStream输出=新的FileOutputStream(“temp.dat”); 对于(int i=1;i,java,Java,您在(input.read())!=-1中读取一个字节,在系统.out.print(input.read()+);中读取另一个字节 如果要打印所有内容,请保存阅读内容并打印 public class TestFileStream { public static void main(String[] args) throws IOException { FileOutputStream output=new FileOutputStream("temp.dat");
(input.read())!=-1中读取一个字节,在系统.out.print(input.read()+);
中读取另一个字节
如果要打印所有内容,请保存阅读内容并打印
public class TestFileStream {
public static void main(String[] args) throws IOException {
FileOutputStream output=new FileOutputStream("temp.dat");
for(int i=1;i<=10;i++){
output.write(i);
}
output.close();
FileInputStream input=new FileInputStream("temp.dat");
while((input.read())!=-1){
System.out.print(input.read()+" ");
}
input.close();
}
}
公共类TestFileStream{
公共静态void main(字符串[]args)引发IOException{
FileOutputStream输出=新的FileOutputStream(“temp.dat”);
对于(int i=1;i每次迭代,您都在两个位置获取数据,如上所述,一次在(input.read())!=-1
,另一次在System.out.print(input.read()+);
您在循环中进行了双重读取;您对结果有何惊讶?从for read,“从此输入流中读取一个字节的数据。如果没有可用的输入,此方法将阻止。”如果您要读取文档,您将得到您的答案。您以字节读取。:)谢谢!是的,我忽略了这一点!
public class TestFileStream {
public static void main(String[] args) throws IOException {
FileOutputStream output=new FileOutputStream("temp.dat");
for(int i=1;i<=10;i++){
output.write(i);
}
output.close();
FileInputStream input=new FileInputStream("temp.dat");
int data;
while((data = input.read())!=-1){
System.out.print(data+" ");
}
input.close();
}
}