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条)

报告相同问题?

悬赏问题

  • ¥100 三相直流充电模块对数字电源芯片在物理上它必须具备哪些功能和性能?
  • ¥30 数字电源对DSP芯片的具体要求
  • ¥20 antv g6 折线边如何变为钝角
  • ¥30 如何在Matlab或Python中 设置饼图的高度
  • ¥15 nginx中的CORS策略应该如何配置
  • ¥30 信号与系统实验:采样定理分析
  • ¥100 我想找人帮我写Python 的股票分析代码,有意请加mathtao
  • ¥20 Vite 打包的 Vue3 组件库,图标无法显示
  • ¥15 php 同步电商平台多个店铺增量订单和订单状态
  • ¥17 pro*C预编译“闪回查询”报错SCN不能识别