• Java 字符串编码 (保存成txt测试)


    1、

    此时没有 zzTest.txt 文件

     1 public class Ttest
     2 {
     3     public static void FileWrite_Overwrite(String _strFullFileName) throws Exception
     4     {
     5         File file = new File(_strFullFileName);
     6         if (! file.exists())
     7         {
     8             file.createNewFile();
     9             System.out.println(file + "已创建!");
    10         }
    11         
    12         String strContent = "测试";
    13 
    14         RandomAccessFile mm = new RandomAccessFile(file, "rw");
    15         mm.write(strContent.getBytes("utf-8"));
    16         mm.close();
    17     }
    18     
    19     public static void main(String[] args) throws Exception
    20     {
    21         FileWrite_Overwrite("F:\ZC_Code_E\workspace__MyEclipse2013\JpgNameWithChinese\zzTest.txt");
    22     }
    23 }

    用 EditPlus 打开 zzTest.txt,显示如下:

    2、

    将上面的 zzTest.txt 删掉,然后执行下面的代码:

     1 public class Ttest
     2 {
     3     public static void FileWrite_Overwrite(String _strFullFileName) throws Exception
     4     {
     5         File file = new File(_strFullFileName);
     6         if (! file.exists())
     7         {
     8             file.createNewFile();
     9             System.out.println(file + "已创建!");
    10         }
    11         
    12         String strContent = "测试";
    13         strContent = new String(strContent.getBytes(), "utf-8"); // 多了这一句
    14 
    15         RandomAccessFile mm = new RandomAccessFile(file, "rw");
    16         mm.write(strContent.getBytes("utf-8"));
    17         mm.close();
    18     }
    19     
    20     public static void main(String[] args) throws Exception
    21     {
    22         FileWrite_Overwrite("F:\ZC_Code_E\workspace__MyEclipse2013\JpgNameWithChinese\zzTest.txt");
    23     }
    24 }

    结果:

    3、

    将前面的 zzTest.txt 删掉,然后执行下面的代码:

     1 public class Ttest
     2 {
     3     public static void FileWrite_Overwrite(String _strFullFileName) throws Exception
     4     {
     5         File file = new File(_strFullFileName);
     6         if (! file.exists())
     7         {
     8             file.createNewFile();
     9             System.out.println(file + "已创建!");
    10         }
    11         
    12         //String strContent = "测试";
    13         //strContent = new String(strContent.getBytes(), "utf-8");
    14 
    15         byte[] bytesUTF8 = new byte[6];
    16         bytesUTF8[0] = (byte)0xE6;
    17         bytesUTF8[1] = (byte)0xB5;
    18         bytesUTF8[2] = (byte)0x8B;
    19         bytesUTF8[3] = (byte)0xE8;
    20         bytesUTF8[4] = (byte)0xAF;
    21         bytesUTF8[5] = (byte)0x95;
    22         String strContent = new String(bytesUTF8, "utf-8");
    23 
    24         RandomAccessFile mm = new RandomAccessFile(file, "rw");
    25         mm.write(strContent.getBytes("utf-8"));
    26         mm.close();
    27     }
    28     
    29     public static void main(String[] args) throws Exception
    30     {
    31         FileWrite_Overwrite("F:\ZC_Code_E\workspace__MyEclipse2013\JpgNameWithChinese\zzTest.txt");
    32     }
    33 }

    结果:和 图一 一样

    4、

    将前面的 zzTest.txt 删掉,然后执行下面的代码:

    public class Ttest
    {
        public static void FileWrite_Overwrite(String _strFullFileName) throws Exception
        {
            File file = new File(_strFullFileName);
            if (! file.exists())
            {
                file.createNewFile();
                System.out.println(file + "已创建!");
            }
            
            //String strContent = "测试";
            //strContent = new String(strContent.getBytes(), "utf-8");
            /*
            byte[] bytesUTF8 = new byte[6];
            bytesUTF8[0] = (byte)0xE6;
            bytesUTF8[1] = (byte)0xB5;
            bytesUTF8[2] = (byte)0x8B;
            bytesUTF8[3] = (byte)0xE8;
            bytesUTF8[4] = (byte)0xAF;
            bytesUTF8[5] = (byte)0x95;
            String strContent = new String(bytesUTF8, "utf-8");
            */
            byte[] bytesGBK = new byte[4];
            bytesGBK[0] = (byte)0xb2;
            bytesGBK[1] = (byte)0xe2;
            bytesGBK[2] = (byte)0xca;
            bytesGBK[3] = (byte)0xd4;
            String strContent = new String(bytesGBK, "GBK");
    
            RandomAccessFile mm = new RandomAccessFile(file, "rw");
            mm.write(strContent.getBytes("utf-8"));
            mm.close();
        }
        
        public static void main(String[] args) throws Exception
        {
            FileWrite_Overwrite("F:\ZC_Code_E\workspace__MyEclipse2013\JpgNameWithChinese\zzTest.txt");
        }
    }

    结果:和 图一 一样

    C

  • 相关阅读:
    IT认证一一看过来
    SQL Server连接中三个常见的错误分析
    解决SFTP时,NetBeans恼人的RSA提示
    Mixing Integrated Authentication and Anonymous Authentication with PreAuthenticated = true doesn’t work
    一段扫flash跨站的脚本
    图解用WAS对Web服务器进行压力测试
    Google TrustRank与Hilltop算法
    Stupid smart code
    Archlinux桌面配置指南
    TSVNCache占用CPU的解决办法
  • 原文地址:https://www.cnblogs.com/codeskilla/p/5028072.html
Copyright © 2020-2023  润新知