Files.copy(Path,Path) 是否创建目录?
Does Files.copy(Path,Path) create directories?
我的 Java 程序 (C:/Users/java/dir1
)?
我想将我的 txt 文件移动到一个尚未创建的新目录。我的所有文件都有一个字符串地址,我想我可以使用
将它们变成路径
路径路径=Paths.get(textPath);
将创建一个字符串 (C:/Users/java/dir2
),使用上述方法将其转换为路径,然后使用
Files.copy(C:/Users/java/dir1/ss1.txt,C:/Users/java/dir2)
导致 ss1.text
被复制到新目录?
方法 Files.copy(C:/Users/java/dir1/ss1.txt,C:/Users/java/dir2)
不会创建目录,它会在目录 java 中创建包含 ss1.txt 数据的文件 dir2。
您可以尝试使用此代码:
File sourceFile = new File( "C:/Users/java/dir1/ss1.txt" );
Path sourcePath = sourceFile.toPath();
File destFile = new File( "C:/Users/java/dir2" );
Path destPath = destFile.toPath();
Files.copy( sourcePath, destPath );
记得使用java.nio.file.Files和java.nio.file.Path。
如果您想使用 class 形式 java.nio 将文件从一个目录复制到另一个目录,您应该使用 Files.walkFileTree(...) 方法。您可以在此处查看解决方案 Java: Using nio Files.copy to Move Directory.
或者您可以简单地使用 apache http://commons.apache.org/proper/commons-io/ 库中的 `FileUtils class,自版本 1.2 起可用。
File source = new File("C:/Users/java/dir1");
File dest = new File("C:/Users/java/dir2");
try {
FileUtils.copyDirectory(source, dest);
} catch (IOException e) {
e.printStackTrace();
}
这很容易
Path source = Path.of("c:/dir/dir-x/file.ext");
Path target = Path.of("c:/target-dir/dir-y/target-file.ext");
Files.createDirectories(target.getParent());
Files.copy(path, target, StandardCopyOption.REPLACE_EXISTING);
如果目录已经存在,请不要担心,在这种情况下它什么都不做并继续...
我的 Java 程序 (C:/Users/java/dir1
)?
我想将我的 txt 文件移动到一个尚未创建的新目录。我的所有文件都有一个字符串地址,我想我可以使用
路径路径=Paths.get(textPath);
将创建一个字符串 (C:/Users/java/dir2
),使用上述方法将其转换为路径,然后使用
Files.copy(C:/Users/java/dir1/ss1.txt,C:/Users/java/dir2)
导致 ss1.text
被复制到新目录?
方法 Files.copy(C:/Users/java/dir1/ss1.txt,C:/Users/java/dir2)
不会创建目录,它会在目录 java 中创建包含 ss1.txt 数据的文件 dir2。
您可以尝试使用此代码:
File sourceFile = new File( "C:/Users/java/dir1/ss1.txt" );
Path sourcePath = sourceFile.toPath();
File destFile = new File( "C:/Users/java/dir2" );
Path destPath = destFile.toPath();
Files.copy( sourcePath, destPath );
记得使用java.nio.file.Files和java.nio.file.Path。
如果您想使用 class 形式 java.nio 将文件从一个目录复制到另一个目录,您应该使用 Files.walkFileTree(...) 方法。您可以在此处查看解决方案 Java: Using nio Files.copy to Move Directory.
或者您可以简单地使用 apache http://commons.apache.org/proper/commons-io/ 库中的 `FileUtils class,自版本 1.2 起可用。
File source = new File("C:/Users/java/dir1");
File dest = new File("C:/Users/java/dir2");
try {
FileUtils.copyDirectory(source, dest);
} catch (IOException e) {
e.printStackTrace();
}
Path source = Path.of("c:/dir/dir-x/file.ext");
Path target = Path.of("c:/target-dir/dir-y/target-file.ext");
Files.createDirectories(target.getParent());
Files.copy(path, target, StandardCopyOption.REPLACE_EXISTING);
如果目录已经存在,请不要担心,在这种情况下它什么都不做并继续...