Java 如何将文件复制到其他目录
我在一个文件夹中列出文件,然后我必须将它们转移到另一个文件夹。然而,我遇到的问题是。。。当尝试将它们粘贴到另一个文件夹时,路径类似于E:\Files,这会导致我生成某种文件,但它不会像应该的那样粘住我。我尝试了几种方法,但仍然不能做到这一点,我留下我的代码,看看你是否可以帮助我Java 如何将文件复制到其他目录,java,Java,我在一个文件夹中列出文件,然后我必须将它们转移到另一个文件夹。然而,我遇到的问题是。。。当尝试将它们粘贴到另一个文件夹时,路径类似于E:\Files,这会导致我生成某种文件,但它不会像应该的那样粘住我。我尝试了几种方法,但仍然不能做到这一点,我留下我的代码,看看你是否可以帮助我 Path algo = Paths.get("E:/Files/"); public void Copy(String origenArchivo, Path algo) { Pa
Path algo = Paths.get("E:/Files/");
public void Copy(String origenArchivo, Path algo) {
Path origenPath = Paths.get(origenArchivo);
String s = algo.toAbsolutePath().toString();
System.out.println(s);
Path destinoPath = Paths.get(s);
System.out.println(destinoPath);
String x = destinoPath.toString() + "/";
Path conv = Paths.get(x);
System.out.println(conv);
try {
Files.copy(origenPath, conv, StandardCopyOption.REPLACE_EXISTING);
} catch (IOException ex) {
Logger.getLogger(Metodos.class.getName()).log(Level.SEVERE, null, ex);
}
}
File dir = new File("C:/Users/PC/Desktop/");
public void TravelToFantasy(File dir) {
File listFile[] = dir.listFiles();
if (listFile != null) {
for (int i = 0; i < listFile.length; i++) {
if (listFile[i].isDirectory()) {
Copy(listFile[i]);
} else {
System.out.println(listFile[i].getPath());
System.out.println(destino);
this.Copy(listFile[i].getPath(), algo);
}
}
}
}
Path algo=Path.get(“E:/Files/”;
公共无效副本(字符串origenArchivo,路径算法){
Path origenPath=Path.get(origenArchivo);
字符串s=algo.toabsolutionPath().toString();
系统输出打印项次;
Path destinoPath=Path.get;
System.out.println(destinoPath);
字符串x=destinoPath.toString()+“/”;
Path conv=Path.get(x);
系统输出打印项次(conv);
试一试{
复制(origenPath、conv、StandardCopyOption.REPLACE_EXISTING);
}捕获(IOEX异常){
Logger.getLogger(Metodos.class.getName()).log(Level.SEVERE,null,ex);
}
}
文件目录=新文件(“C:/Users/PC/Desktop/”;
公共作废TravelToFantasy(文件目录){
文件listFile[]=dir.listFiles();
if(listFile!=null){
for(int i=0;i
我试图将“/”放在路径路径中。get得到我,但它总是将路径作为E:\Files留给我
谢谢你 使用java.io.File.separator而不是“/”,这将有助于您的代码运行任何操作系统。您不能将目录传递给Files.copy 您不需要所有与字符串之间的转换。只需使用: 作为旁注,Path/Path/Files类优于java.io.File类,因为它们在操作失败时提供有意义的信息。您根本不应该使用java.io.File:
Path dir = Paths.get("C:/Users/PC/Desktop/");
public void TravelToFantasy(Path dir)
throws IOException {
try (DirectoryStream<Path> listFile = Files.newDirectoryStream(dir)) {
for (Path file : listFile) {
if (Files.isDirectory(file)) {
Copy(file);
} else {
System.out.println(file);
System.out.println(destino);
this.Copy(file, algo);
}
}
}
}
Path dir=Path.get(“C:/Users/PC/Desktop/”;
公共空间TravelToFantasy(路径方向)
抛出IOException{
try(DirectoryStream listFile=Files.newDirectoryStream(dir)){
用于(路径文件:listFile){
if(Files.isDirectory(file)){
复印件(档案);
}否则{
System.out.println(文件);
系统输出打印号(destino);
此.Copy(文件,algo);
}
}
}
}
不起作用。。。我添加以下内容:String x=destinoPath.toString()+File.separator;但这不管用,这管用!非常感谢VGR,我理解,一切正常。
Path dir = Paths.get("C:/Users/PC/Desktop/");
public void TravelToFantasy(Path dir)
throws IOException {
try (DirectoryStream<Path> listFile = Files.newDirectoryStream(dir)) {
for (Path file : listFile) {
if (Files.isDirectory(file)) {
Copy(file);
} else {
System.out.println(file);
System.out.println(destino);
this.Copy(file, algo);
}
}
}
}