MV命令移动文件异常

a_tuzi 2014-01-21 11:04:41
String cmd = "mv " + zbdataSave + File.separator+times+File.separator+"*.*" + " " + zbdata;
String[] arr = new String[]{"sh","-c",""};
arr[2] = cmd ;
Process p = Runtime.getRuntime().exec(arr);
InputStream is = p.getErrorStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String line = null;
while((line = br.readLine()) != null){
LOG.WRITE_SERVER(line);
}
上面是java代码,使用mv命令移动文件结果移动失败了,
目标目录创建了一个空文件,但是写不进去,手动测试权限是正常的。
想问下各位大神有些什么可能会导致这种情况呢?
...全文
282 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
a_tuzi 2014-01-21
  • 打赏
  • 举报
回复
引用 1 楼 u010868023 的回复:
空间不足? 文件在被使用?
请问文件被使用是个什么情况呢 是从一台服务器移动到另外一个目录 空间肯定够了。这个人工看过的
没拦住車 2014-01-21
  • 打赏
  • 举报
回复
空间不足? 文件在被使用?
非凡glj 2014-01-21
  • 打赏
  • 举报
回复
专门写了个测试程序试,可以移动阿,不过只能移动有扩展名的文件,楼主用的*.*匹配文件名 程序是权限执行和目录中文件的权限贴出来看看

package com.glj.testmv;

import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;

public class TestMV {

	public static void main(String[] args) {
		String cmd = "mv  " + "/testmv" + File.separator + "20140121"
				+ File.separator + "*.*" + " " + "/testmv_bak";
		String[] arr = new String[] { "sh", "-c", "" };
		arr[2] = cmd;
		Process p;
		try {
			p = Runtime.getRuntime().exec(arr);

			InputStream is = p.getErrorStream();
			InputStreamReader isr = new InputStreamReader(is);
			BufferedReader br = new BufferedReader(isr);
			String line = null;
			while ((line = br.readLine()) != null) {
				System.out.println(line);
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}
jesus912 2014-01-21
  • 打赏
  • 举报
回复
是不是没有文件操作权限

23,217

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧