我有这个重命名文件(或目录)的java代码。当我使用一些特殊字符时,Linux 上会出现问题,它可以在 Windows 上使用这些特殊字符。我尝试的方式是这样的:在windows中
我创建了一个名为“326½_6”的目录
我构建了一个 jar 文件,并直接在 windows cmd(或 linux shell)中调用它(java -jar),第一个参数是上面的目录,第二个参数是新目录的路径。这有效
然后我使用 SFTP (WinSCP) 将目录传输到 Linux 服务器。我重复上面的步骤,但它不起作用。我得到这个输出:
移动 /home/user/testarea/326�_6/ 到 /home/user/testarea/test5/
--- 无法执行重命名 -------
有没有办法在 Linux 机器上完成这项工作???
编码:
public static void main(String [] args) {
String source = args[0];
String dest = args[1];
System.out.println(" - Moving " + source + " to " + dest);
File sourceFile = new File(source);
File destinationFile = new File(dest);
if (!sourceFile.renameTo(destinationFile)) {
System.out.println("--- could not perform rename -------");
}
System.out.println("Finished moving");
}
谢谢!