打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
JAVA中的神奇现象
import java.io.IOException;
import java.io.OutputStream;
import java.io.FileOutputStream;
class FileOutputStreamTest
{
public static void main(String[]args)
{
     try
     {
      String str = "好好学习java";
      byte[] words = str.getBytes();
      OutputStream fos = new FileOutputStream("Test.txt");
   fos.write(words,4,4);
      System.out.println("Test文件已更新!");
      fos.close();
     }
     catch (IOException obj)
     {
      System.out.println("创建文件时出错");
     }
}
}
执行fos.write(words,4,4);方法之后Test.txt文件里面的内容是什么?你一定会说是“学习”吧,那就错了,事实上里面是两个【黑色的方块】,而且只有这两个字显示不出来,如果你把“学习”换成别的汉字就没有问题,神奇吧,懂JAVA的朋友可以试一下。
这让我想起了曾经的[联通]事件:
如果你的电脑操作系统是WIN2000或WINXP的话,那么:
1、在桌面上点右键,选择新建 ― 文本文档;
2、打开“新建 文本文档”,写入“联通”两字后保存退出;
3、重新打开“新建 文本文档”,看到什么了?
4、是不是刚刚录入的“联通”两字不见了,取而代之是个黑块。
======================================================================
这是什么原因?
我在网上查找了相关的资料,据说是微软操作系统的BUG.
记事本都会用自动用UTF-8编码保存(而非ANSI)。“联”的UTF-8编码是54 80。记事本在保存文件时虽然添加了FF FE的文件头,但是没有把“联”保存为54 80而是用了6A 00。
这是详细的解释:
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
java实现word转pdf文件(高效不失真)
利用java的IO流简单创建文件和赋值文件(内含简单代码)
DOM4J解析xml文件
java把图片转换成base64传入XML文件
关于java中创建文件,并且写入内容
一个将html文件批量转换成jsp文件的程序(主要处理中文乱码问题)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服