带 ? 的文件​​名在末尾

Name of file with ? at the end

我有一系列文件。当我通过终端看到它们时,我得到这个:

ls
filename1^J
filename2^J
filename3^J
filename4^J

但是当我通过 Finder 应用程序打开它们时,我得到了这个:

Finder
filename1
filename2
filename3
filename4

所以,我根据下面的方法制作了一个简单的Java程序来更改他们的名字并解决这个问题:

String newPath = file.getAbsolutePath().replace("^J", "");

但这并不能解决问题。那么,我该如何重命名这些文件?

我用这个简单的方法解决了:

filename = filename.replaceAll("[^a-zA-Z0-9.-]", "_");

我希望这对其他人有用