Xyk.me 2021-04-01 07:52 采纳率: 100%
浏览 240
已采纳

java程序输出数据写入txt文件。编译运行后,打开txt,发现全是乱码,请各位指点一下,谢谢!

import java.io.*;
public  class  DataOut{
       public static  void  main(String args[])throws IOException{
              FileOutputStream fout=new FileOutputStream("data011.txt");
              DataOutputStream out=new DataOutputStream(fout);
              String [ ] items={"面包","笔","被子","牙膏","毛巾"};
              int[] units={2,5,1,2,3};
              float[] prices={1.5f,2.8f,125f,7.2f,5.6f};
              for(int i=0;i<items.length;i++){
                     out.writeUTF(items[i]);
                     out.writeChar('\t');
                     out.writeFloat(prices[i]);
                     out.writeChar('\t');
                     out.writeInt(units[i]);
                     out.writeChar('\t');
             }
                  out.close();
                 fout.close();
       }

}

  • 写回答

5条回答 默认 最新

  • CSDN专家-三岁丫 2021-04-01 11:06
    关注

    其实不是乱码,而是 DataOutputStream 的特性,它使用的是一个和平台无关的方式写入到文件中。也就是说里面不是纯文本形式的。即在每个数据前面会带点前缀的形式来标示后面数据的格式。例如:你写的是一个数字,可能前面就会有 0000 0001 这种来标示后面是一个数字,普通的字符串可能就是 0000 0002。

    这只是举例,实际上怎么标示的我也不知道,但是这些标示的字符不管用什么编码去打开都是 '乱码' 因为本来也不是那种有效的字符,所以这个是正常的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探