當我們在Java中需要復制或剪切目錄時,可以使用以下代碼實現。
import java.io.*; public class CopyDirectory { public static void copyDirectory(File source, File destination) throws IOException { if (!destination.exists()) { destination.mkdirs(); } File[] files = source.listFiles(); for (File file : files) { if (file.isDirectory()) { File newDirectory = new File(destination, file.getName()); copyDirectory(file, newDirectory); } else { File newFile = new File(destination, file.getName()); copyFile(file, newFile); } } } public static void copyFile(File source, File destination) throws IOException { InputStream in = new FileInputStream(source); OutputStream out = new FileOutputStream(destination); byte[] buffer = new byte[1024]; int length; while ((length = in.read(buffer)) >0) { out.write(buffer, 0, length); } in.close(); out.close(); } public static void main(String[] args) { File sourceDirectory = new File("source"); File destinationDirectory = new File("destination"); try { copyDirectory(sourceDirectory, destinationDirectory); System.out.println("目錄已成功復制!"); } catch (IOException e) { System.out.println("目錄復制失敗:" + e.getMessage()); } } }
以上代碼中,使用了copyDirectory()和copyFile()兩個方法來實現復制和剪切目錄的功能。其中,復制目錄的方法使用遞歸方式,遍歷原目錄中的所有子目錄和文件,并創建相應的目錄和文件的副本。
在調用copyDirectory()方法之前,需要首先定義原目錄和目標目錄的File對象。然后,在try-catch語句塊中調用copyDirectory()方法,如果操作成功,控制臺將輸出“目錄已成功復制!”。否則,將捕獲IO異常并輸出錯誤信息。
通過上述代碼,我們可以輕松地實現Java中的目錄復制和剪切功能,從而更方便地管理文件目錄。
上一篇css3單雙數