小编Rol*_*and的帖子

用Java编码文件名

我在嵌入式Linux平台上运行一个小型Java应用程序.用OpenJDK替换Java VM JamVM后,无法正确存储带有特殊字符的文件名.像变音符号这样的特殊字符被问号所取代.

这是我的测试代码:

import java.io.File;
import java.io.IOException;

public class FilenameEncoding
{

        public static void main (String[] args) {
                String name = "umlaute-äöü";
                System.out.println("\nname = " + name);
                System.out.print("name in Bytes: ");
                for (byte b : name.getBytes()) {
                        System.out.print(Integer.toHexString(b & 255) + " ");
                }
                System.out.println();

                try {
                        File f = new File(name);
                        f.createNewFile();
                } catch (IOException e) {
                        e.printStackTrace();
                }
        }

}
Run Code Online (Sandbox Code Playgroud)

运行它会提供以下输出:

name = umlaute-???
name in Bytes: 75 6d 6c 61 75 74 65 2d 3f 3f …
Run Code Online (Sandbox Code Playgroud)

java openjdk encoding jvm

9
推荐指数
1
解决办法
9710
查看次数

标签 统计

encoding ×1

java ×1

jvm ×1

openjdk ×1