日期:2014-05-20  浏览次数:20826 次

这段代码为什么输出0d0a,而不是0a,我已经使用了字节流操作了。
import   java.io.*;
public   class   FileTest   {
  public   static   void   main(String   args[])     {
      try   {

byte   buffer[]   =   new   byte[]{0x0a};

FileOutputStream   os   =   new   FileOutputStream( "WriteFile.txt ");

os.write(buffer);
//   关闭输出流
os.close();
System.out.println( "已保存到WriteFile.txt! ");
        }   catch   (IOException   ioe)   {
System.out.println(ioe);
        }   catch   (Exception   e)   {
System.out.println(e);
        }

   
  }
}



------解决方案--------------------
不会,帮你顶一下.
------解决方案--------------------
应该输出一个不可打印字符,ascii码为10
------解决方案--------------------
因为楼主你写的 0X0a 刚好是换行符 \n (unix换行符)的二进制值

如果你使用诸如ultraedit这样子会把unix换行符转成windows换行符\r\n(0d0a)的编辑器的话,就会出现你描述的问题

其实你把0X0a换成其他的就没有问题了