Java FileOutputStream-有时写入数据,有时不写入

Java FileOutputStream-有时写入数据,有时不写入,java,fileoutputstream,Java,Fileoutputstream,我试图理解一些java文件的概念。所以我试着用下面的程序来理解FileOutputStream FileOutputStream out = new FileOutputStream("test.txt"); int i = 1; out.write(i); out.flush(); out.close(); 文件中写入了一些二进制数据 out.flush(); out.close(); 但是当我将I的值从1改为10时,相同程序的。我在输出文件中没有看到任何内容。有人能给我解释一下为什么吗

我试图理解一些java文件的概念。所以我试着用下面的程序来理解FileOutputStream

FileOutputStream out = new FileOutputStream("test.txt");
int i = 1;
out.write(i);
out.flush();
out.close();
文件中写入了一些二进制数据

out.flush();
out.close();
但是当我将I的值从1改为10时,相同程序的。我在输出文件中没有看到任何内容。有人能给我解释一下为什么吗

int i = 1;
out.write(i);
将0x1写入文件的

out.flush();
out.close();
刷新是多余的

文件中写入了一些二进制数据

out.flush();
out.close();

但是当我将I的值从1改为10时,相同程序的。我在输出文件中没有看到任何内容


是的,你知道。您将看到0xa,这是换行符。

您使用什么查看输出文件?它会是一个文本编辑器,将ASCII 10显示为换行符,而你看不到吗?我想如果你使用PrintWriter或FileWriter@DawoodibnKareem我使用gedit和intellij idea查看我的文件。即使是其他数字,如9、13,我也看不到任何东西。它是否显示9作为制表符,13作为回车符?@DawoodibnKareem是的,我希望如此,我现在指的是ASCII代码表:但我什么也看不到,可能是因为我使用的文本编辑器或编辑。即使是像9,13这样的数字,我也看不到任何东西。9是一个标签。13是回车。它们在文本编辑器中不可见,就像换行符一样。8是BEL,12是表单提要:您也看不到它们,或者其他许多。你的期望是错误的。如果您正在编写二进制文件,则应使用十六进制查看器。