![](/img/trans.png)
[英]Copy directories, subdirectory and files from one server to another server in 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()似乎是推薦的方法)。
[編輯]在大多數(也許甚至是所有)操作系統中,移動操作比完整復制和刪除便宜得多。 等同於刪除一個目錄中文件的條目,然后將其添加到其他目錄中(或在同一目錄中使用其他名稱)。 無需觸摸文件中的實際數據即可執行此操作。
或者您可以使用Java NIO:
我建議您使用org.apache.common
的FileUtils
類。 文檔在這里 。
不用自己動手,可以使用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()
進行實際移動。 如果失敗,請進行真實的復制/刪除。 除此之外: InputStream
和OutputStream
是執行復制的最基本方法。 但是,如果您不想重新發明輪子,可以使用FileUtis完全按照我的描述進行操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.