1. 程式人生 > >linux下File.createNewFile(“中文檔名”) 亂碼問題

linux下File.createNewFile(“中文檔名”) 亂碼問題

$ javap -verbose FileTest

Compiled from "FileTest.java"

public class FileTest extends java.lang.Object

  SourceFile: "FileTest.java"

  minor version: 0

  major version: 49

  Constant pool:

const #1 = Method       #29.#40;        //  java/lang/Object."<init>":()V

const #2 = Method       #41.#42;        //  java/lang/System.getProperties:()Ljava/util/Properties;

const #3 = Field        #41.#43;        //  java/lang/System.out:Ljava/io/PrintStream;

const #4 = Method       #44.#45;        //  java/util/Properties.list:(Ljava/io/PrintStream;)V

const #5 = String       #46;    //  ******************

const #6 = Method       #47.#48;        //  java/io/PrintStream.println:(Ljava/lang/String;)V

const #7 = String       #49;    //  file.encoding

const #8 = Method       #41.#50;        //  java/lang/System.getProperty:(Ljava/lang/String;)Ljava/lang/String;

const #9 = class        #51;    //  java/lang/StringBuilder

const #10 = Method      #9.#40; //  java/lang/StringBuilder."<init>":()V

const #11 = String      #52;    //  encoding:

const #12 = Method      #9.#53; //  java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;

const #13 = Method      #9.#54; //  java/lang/StringBuilder.toString:()Ljava/lang/String;

const #14 = String      #55;    //  ./?haha?AAA??.txt

const #15 = class       #56;    //  java/lang/String

const #16 = String      #57;    //  gbk

const #46 = Asciz       ******************;

const #47 = class       #79;    //  java/io/PrintStream

const #48 = NameAndType #80:#81;//  println:(Ljava/lang/String;)V

const #49 = Asciz       file.encoding;

const #50 = NameAndType #82:#83;//  getProperty:(Ljava/lang/String;)Ljava/lang/String;

public FileTest();

  Code:

   Stack=1, Locals=1, Args_size=1

   0:   aload_0

   1:   invokespecial   #1; //Method java/lang/Object."<init>":()V

   4:   return

  LineNumberTable:

   line 6: 0

public static void main(java.lang.String[])   throws java.lang.InterruptedException;

  Code:

   Stack=4, Locals=6, Args_size=1

   12:  ldc     #5; //String ******************

   14:  invokevirtual   #6; //Method java/io/PrintStream.println:(Ljava/lang/String;)V

   17:  ldc     #7; //String file.encoding

   19:  invokestatic    #8; //Method java/lang/System.getProperty:(Ljava/lang/String;)Ljava/lang/String;

   22:  astore_1

   23:  getstatic       #3; //Field java/lang/System.out:Ljava/io/PrintStream;

   26:  new     #9; //class java/lang/StringBuilder

   29:  dup

   30:  invokespecial   #10; //Method java/lang/StringBuilder."<init>":()V

   33:  ldc     #11; //String encoding:

   35:  invokevirtual   #12; //Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;

   38:  aload_1

   39:  invokevirtual   #12; //Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;

   42:  invokevirtual   #13; //Method java/lang/StringBuilder.toString:()Ljava/lang/String;

   45:  invokevirtual   #6; //Method java/io/PrintStream.println:(Ljava/lang/String;)V

   48:  ldc     #14; //String ./?haha?AAA??.txt

   50:  astore_2

   51:  getstatic       #3; //Field java/lang/System.out:Ljava/io/PrintStream;

   54:  aload_2

   55:  invokevirtual   #6; //Method java/io/PrintStream.println:(Ljava/lang/String;)V

   58:  new     #15; //class java/lang/String

   61:  dup

   62:  aload_2

   63:  ldc     #16; //String gbk

   65:  invokevirtual   #17; //Method java/lang/String.getBytes:(Ljava/lang/String;)[B

   68:  aload_1

   69:  invokespecial   #18; //Method java/lang/String."<init>":([BLjava/lang/String;)V

  // 太長顯示不了,刪除掉

}