Java中使用Files類的copy()方法實(shí)現(xiàn)復(fù)制文件
使用Files類的copy()方法復(fù)制文件
在 Java 里,java.nio.file.Files
類的 copy()
方法可用于復(fù)制文件或目錄。
下面為你提供使用 copy()
方法復(fù)制文件的示例代碼:
簡(jiǎn)單文件復(fù)制示例
以下代碼將一個(gè)文件從源路徑復(fù)制到目標(biāo)路徑。
import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; public class FileCopyExample { public static void main(String[] args) { // 源文件路徑 String sourceFilePath = "path/to/source/file.txt"; // 目標(biāo)文件路徑 String targetFilePath = "path/to/target/file.txt"; Path sourcePath = Paths.get(sourceFilePath); Path targetPath = Paths.get(targetFilePath); try { // 復(fù)制文件 Files.copy(sourcePath, targetPath); System.out.println("文件復(fù)制成功"); } catch (IOException e) { System.err.println("文件復(fù)制失敗: " + e.getMessage()); } } }
代碼解釋
1)指定路徑:定義了源文件路徑 sourceFilePath
和目標(biāo)文件路徑 targetFilePath
。
2)創(chuàng)建 Path
對(duì)象:利用 Paths.get()
方法依據(jù)文件路徑創(chuàng)建 Path
對(duì)象。
3)復(fù)制文件:調(diào)用 Files.copy()
方法將源文件復(fù)制到目標(biāo)路徑。
4)異常處理:使用 try-catch
塊捕獲并處理可能出現(xiàn)的 IOException
異常。
覆蓋已存在的目標(biāo)文件
若目標(biāo)文件已存在,Files.copy()
方法會(huì)拋出 FileAlreadyExistsException
異常。
若你想覆蓋已存在的目標(biāo)文件,可使用 StandardCopyOption.REPLACE_EXISTING
選項(xiàng)。
import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.StandardCopyOption; public class FileCopyWithReplace { public static void main(String[] args) { String sourceFilePath = "path/to/source/file.txt"; String targetFilePath = "path/to/target/file.txt"; Path sourcePath = Paths.get(sourceFilePath); Path targetPath = Paths.get(targetFilePath); try { Files.copy(sourcePath, targetPath, StandardCopyOption.REPLACE_EXISTING); System.out.println("文件復(fù)制成功(覆蓋已存在文件)"); } catch (IOException e) { System.err.println("文件復(fù)制失敗: " + e.getMessage()); } } }
在這個(gè)示例中,StandardCopyOption.REPLACE_EXISTING
選項(xiàng)作為第三個(gè)參數(shù)傳遞給 Files.copy()
方法,這表明如果目標(biāo)文件已存在,會(huì)對(duì)其進(jìn)行覆蓋。
你需要把 "path/to/source/file.txt"
和 "path/to/target/file.txt"
替換為實(shí)際的文件路徑。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
springboot bean循環(huán)依賴實(shí)現(xiàn)以及源碼分析
最近在使用Springboot做項(xiàng)目的時(shí)候,遇到了一個(gè)循環(huán)依賴的 問(wèn)題,所以下面這篇文章主要給大家介紹了關(guān)于springboot bean循環(huán)依賴實(shí)現(xiàn)以及源碼分析的相關(guān)資料,需要的朋友可以參考下2021-06-06java設(shè)計(jì)模式-單例模式實(shí)現(xiàn)方法詳解
單例模式,屬于創(chuàng)建類型的一種常用的軟件設(shè)計(jì)模式。通過(guò)單例模式的方法創(chuàng)建的類在當(dāng)前進(jìn)程中只有一個(gè)實(shí)例(根據(jù)需要,也有可能一個(gè)線程中屬于單例2021-07-07java 裝飾模式(Decorator Pattern)詳解
這篇文章主要介紹了java 裝飾模式(Decorator Pattern)詳解的相關(guān)資料,需要的朋友可以參考下2016-10-10解決SpringBoot @value注解取不到值的問(wèn)題
這篇文章主要介紹了解決SpringBoot @value注解取不到值的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07Spring MVC文件上傳大小和類型限制以及超大文件上傳bug問(wèn)題
這篇文章主要介紹了Spring MVC文件上傳大小和類型限制以及超大文件上傳bug問(wèn)題,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-10-10淺談java對(duì)象轉(zhuǎn)json,數(shù)字精確出現(xiàn)丟失問(wèn)題
下面小編就為大家?guī)?lái)一篇淺談java對(duì)象轉(zhuǎn)json, 數(shù)字精確出現(xiàn)丟失問(wèn)題。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-03-03Javaweb會(huì)話跟蹤技術(shù)Cookie和Session的具體使用
本文主要介紹了Javaweb會(huì)話跟蹤技術(shù)Cookie&Session的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07