java - 有谁知道一些返回操作系统友好文件名的 Java 类?

标签 java linux file file-io

我的网页中有一个 uploader ,但有些人上传名为“compañia 15% *09.jpg”的文件,当文件名与此类似时,我遇到了问题。

我想找到一个为该示例返回类似这样的类:“compania1509.jpg”。

最佳答案

换句话说,您想去掉printable ASCII range 之外的所有字符。 ?您可以使用 String#replaceAll()为此使用 [^\x20-\x7e] 模式。

name = name.replaceAll("[^\\x20-\\x7e]", "");

如果你也想去掉空格,那么从 \x21 开始。您甚至可以将其限制为仅限单词字符。使用 \W 表示“任何非单词”字符。然后名称将仅匹配字母数字和下划线。

name = name.replaceAll("\\W", "");

关于java - 有谁知道一些返回操作系统友好文件名的 Java 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3069634/

相关文章:

linux - 如何使用 gnu cp 命令将文件复制到多个目录

linux - 每个模式的强度

java - 将文件从目录复制到另一个,具有文件和目录的路径

java - 无法使用 Arquillian 运行多个测试

java - 检查行是否被删除

linux - 如何将 awk 与 for 循环一起使用?

java - 如何获取从图库中选择的图像的目录和文件名

java - 为什么找不到 SocketChannelImpl$DefaultOptionsHolder?

java - *无需*下一代 Java 插件部署 JNLP 小程序

linux - 将事件和数据发送到 bash 脚本