qq_27394445 2016-09-28 05:34 采纳率: 0%
浏览 2492

我用这个方法移动文件到另一个文件夹

public void moveFile(String fromPath, String toPath) {
File fromFolder = new File(fromPath);
File[] fromFiles = fromFolder.listFiles();
if (fromFiles == null) {
return;
}
File toFolder = new File(toPath);
if (!toFolder.exists()) {
toFolder.mkdirs();
}
for (int i = 0; i < fromFiles.length; i++) {
File file = fromFiles[i];
if (file.isDirectory()) {
moveFile(file.getPath(), toPath + "\" + file.getName());
// 亦可删除
file.delete();
}
if (file.isFile()) {
File toFile = new File(toFolder + "\" + file.getName());
if (toFile.exists()) {
// 亦可删除
toFile.delete();
}
// 移动文件
file.renameTo(toFile);
}

    }
}

写的测试类,在自己电脑上测试没有问题,可是部署到服务器上之后,文件是实现了转存,可是 服务器上是这样的

drwxr-xr-x 2 root root 4096 Sep 28 11:24 2
-rw-r--r-- 1 root root 140353 Sep 28 12:28 2\124685e5-734f-4a23-aeb5-7e306185010d.jpg

服务器上的那个2文件夹是个空的,下面的图片名称变成这样了

正确的应该是
\home\basecarupload\upload\user\1000000009\10000000095040201\2\9bd93c45-e1ac-4640-a75c-8609f6aa7c47.jpg

临时图片路径:
/home/basecarupload/upload/usertemp/1000000009/2/
图片固定路径:/home/basecarupload/upload/user/1000000009/10000000095040201/2/

我写的测试类,在自己电脑上测试结果是没问题的,部署到服务器上之后就是这样的了。为什么会这样啊?

  • 写回答

1条回答 默认 最新

  • shengshenbusi 2016-09-28 06:21
    关注

    是不是文件路径不对,递归调用时路径不对:路径分隔符用File.separator,不用字符“\"

    评论

报告相同问题?

悬赏问题

  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler