Как переместить файл в другой каталог в Java
Java.io.File не содержит метода готового файла make move, но вы можете обойти эту проблему с помощью следующих двух альтернатив:
-
File.renameTo().
-
Скопируйте в новый файл и удалите исходный файл.
В следующих двух примерах вы перемещаете файл «C:\folderA\Afile.txt» из одного каталога в другой с тем же именем файла «C:\folderB\Afile.txt».
1. File.renameTo()
package com.example.file; import java.io.File; public class MoveFileExample { public static void main(String[] args) { try{ File afile =new File("C:\\folderA\\Afile.txt"); if(afile.renameTo(new File("C:\\folderB\\" + afile.getName()))){ System.out.println("File is moved successful!"); }else{ System.out.println("File is failed to move!"); } }catch(Exception e){ e.printStackTrace(); } } }
2. Копировать и удалить
package com.example.file; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; public class MoveFileExample { public static void main(String[] args) { InputStream inStream = null; OutputStream outStream = null; try{ File afile =new File("C:\\folderA\\Afile.txt"); File bfile =new File("C:\\folderB\\Afile.txt"); inStream = new FileInputStream(afile); outStream = new FileOutputStream(bfile); byte[] buffer = new byte[1024]; int length; //copy the file content in bytes while ((length = inStream.read(buffer)) > 0){ outStream.write(buffer, 0, length); } inStream.close(); outStream.close(); //delete the original file afile.delete(); System.out.println("File is copied successful!"); }catch(IOException e){ e.printStackTrace(); } } }