Java使用Files.move将文件从一个目录移动到另一个目录。

问题描述 投票:0回答:1

我使用Files.move在读取文件后将文件从一个文件夹移动到另一个文件夹。

文件读取位置:C:doc/listoffiles/sample1/sample1.txtC:doc/listoffiles/sample2/sample2.txt

文件被移动到各自的位置。例如:sample1.txt应该移到子目录sample1,sample2.txt应该移到子目录sample2。

文件移动位置:c:doc/movefileto (此为常数)

目录c:\doc\movefileto已经创建.我想在这个目录下创建一个子目录sample1,并移动sample1.txt sample1作为动态值.我是Files.move如下。

String st = "c:\doc\movefileto";
String dynamicFileLoc = "sample1"
Files.move(Paths.get("c:\doc\listoffiles\sample1\sample1.txt"), Paths.get( st+"\\"+dynamicFileLoc));

它没有创建子目录,而是直接将文件转储到c:\doc\movefileto.我在这里做错了什么。

java file move
1个回答
2
投票

Files.move假设目标是一个文件。你将需要调用Files.createDirectory。

Path src = Paths.get("c:\\doc\\listoffiles\\sample1\\sample1.txt");
Path targetDir = Paths.get(st, dynamicFileLoc);
Files.createDirectory(targetDir);
Path target = targetDir.resolve(src.getFileName());
© www.soinside.com 2019 - 2024. All rights reserved.