拆分为|&引用;并读取文件名和路径以复制JAVA
我有一个文本文件,看起来像拆分为|&引用;并读取文件名和路径以复制JAVA,java,file,split,Java,File,Split,我有一个文本文件,看起来像fileName | path。 我读取文本文件并在处拆分它。 现在我想使用文件名和路径将文件从一个目录复制到另一个目录 以下是我到目前为止得到的结果,结果如下: file to be copied: test.jar to path: c:/test c:\InstallFiles\test.jar c:\test c:\test 这是我的密码: String record = ""; FileReader fileReader = null;
fileName | path
。
我读取文本文件并在
处拆分它。
现在我想使用文件名和路径将文件从一个目录复制到另一个目录
以下是我到目前为止得到的结果,结果如下:
file to be copied: test.jar to path: c:/test
c:\InstallFiles\test.jar
c:\test
c:\test
这是我的密码:
String record = "";
FileReader fileReader = null;
String curDir = System.getProperty("user.dir");
File file = new File(curDir + "/InstallFiles.txt");
File installFiles = new File("c:/InstallFiles");
File[] files = installFiles.listFiles();
try {
fileReader = new FileReader(file);
BufferedReader myInput = new BufferedReader(fileReader);
while ((record = myInput.readLine()) != null) {
String[] recordColumns = record.split("\\|");
String fileName = recordColumns[0].toString().trim();
String path = recordColumns[1].toString().trim();
System.out.println("file to be copied: " + fileName + " to path: " + path);
Path source = Paths.get(installFiles +"/"+ fileName);
System.out.println(source);
Path target = Paths.get(path);
System.out.println(target);
Files.copy(source, target);
System.out.println("Copied file: " + fileName + " to " + path);
}
myInput.close();
fileReader.close();
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
很可能会抛出某种形式的
IOException
。从你提供的信息我说不出原因
我建议您将catch
块中的代码更改为:
} catch (Exception e) {
e.printStackTrace();
}
这可能会提供有关错误发生原因的更好信息
编辑:
关于出现问题的原因,一个可能的猜测是目标文件(
c:\test
)已经存在。根据,这将导致您获得一个filereadyexistException
,除非您指定了一个REPLACE\u EXISTING
选项,而您尚未指定该选项 你的问题是什么?另外,为什么要对字符串调用toString()
?这有什么问题?它不会将文件从InstallFiles文件夹复制到test folderString fileName=recordColumns[0]。toString().trim();如果我不执行toString,它只返回列的值,例如1或2或3@user1794974:recordColumns
是一个String[]
,因此recordColumns[0].toString().trim()代码>将始终与记录列[0]相同代码>