簡體   English   中英

Java:在目錄之間復制文件

[英]Java: copy files between directories

使用Java如何將文件從一個目錄移動到另一個目錄? 我應該只使用streamReader將字節復制到目標目錄,然后刪除原始文件嗎?

嘗試File.renameTo操作。 盡管它的名字,它也可以用來移動文件。 但是,請注意,如文檔所述,其行為將取決於您所運行的平台。

例:

File oldFile = ...;
File newDirectory = ...;
String newName = ...;
File newFile = new File(newDirectory, newName);

oldName.renameTo(newFile);

聽起來不對。 如果確實要移動文件(而不是復制文件),則應該使用便宜得多的某種重命名方法。 (File.renameTo()似乎是推薦的方法)。

[編輯]在大多數(也許甚至是所有)操作系統中,移動操作比完整復制和刪除便宜得多。 等同於刪除一個目錄中文件的條目,然后將其添加到其他目錄中(或在同一目錄中使用其他名稱)。 無需觸摸文件中的實際數據即可執行此操作。

我建議您使用org.apache.commonFileUtils類。 文檔在這里

不用自己動手,可以使用apache commons IO實用程序之類的東西。

在這里您可以只調用FileUtils.copyFile

詳情請參閱這里http://commons.apache.org/io/apidocs/org/apache/commons/io/FileUtils.html

嘗試的CopyFile的方法fileutils中從類的Apache公地IO API。

已為您測試!

您可以執行一個文件namedTo並將其文件的新位置作為參數。

看這里

首先嘗試File.renameTo()進行實際移動。 如果失敗,請進行真實的復制/刪除。 除此之外: InputStreamOutputStream是執行復制的最基本方法。 但是,如果您不想重新發明輪子,可以使用FileUtis完全按照我的描述進行操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM