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
// 太長顯示不了,刪除掉
}