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,不用字符“\"

    评论

报告相同问题?

悬赏问题

  • ¥100 有人会搭建GPT-J-6B框架吗?有偿
  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名