相关疑难解决方法(0)

如何在Java中安全地编码字符串以用作文件名?

我从外部进程收到一个字符串.我想使用该String来创建文件名,然后写入该文件.这是我的代码片段:

    String s = ... // comes from external source
    File currentFile = new File(System.getProperty("user.home"), s);
    PrintWriter currentWriter = new PrintWriter(currentFile);
Run Code Online (Sandbox Code Playgroud)

如果s包含无效字符,例如基于Unix的OS中的"/",则会(正确地)抛出java.io.FileNotFoundException.

如何安全地编码String以便它可以用作文件名?

编辑:我希望的是一个API调用,它为我做这个.

我可以做这个:

    String s = ... // comes from external source
    File currentFile = new File(System.getProperty("user.home"), URLEncoder.encode(s, "UTF-8"));
    PrintWriter currentWriter = new PrintWriter(currentFile);
Run Code Online (Sandbox Code Playgroud)

但我不确定URLEncoder是否可靠用于此目的.

java string encoding file

108
推荐指数
5
解决办法
7万
查看次数

Android上的文件名中允许哪些字符?

Android上的文件名允许哪些特殊字符?

~!@#$%^&*()_+/\.,
Run Code Online (Sandbox Code Playgroud)

另外,我可以用Unicode名称保存文件吗?

filenames android illegal-characters

48
推荐指数
5
解决办法
4万
查看次数

Java IO是否具有最大文件名长度?

不同的操作系统具有不同的文件名最大长度.在处理文件时,Java是否对文件名长度有任何限制?

java io file-io file max

11
推荐指数
2
解决办法
1万
查看次数

标签 统计

file ×2

java ×2

android ×1

encoding ×1

file-io ×1

filenames ×1

illegal-characters ×1

io ×1

max ×1

string ×1