導航:首頁 > 編程語言 > java復制文件代碼

java復制文件代碼

發布時間:2022-04-02 18:45:59

『壹』 java寫個復制文件如何判斷還要多久復制完成.求代碼

需要遞歸的

import java.io.*;
/**
* 復制文件夾或文件夾
*/
public class CopyDirectory {
// 源文件夾
static String url1 = "f:/photos";
// 目標文件夾
static String url2 = "d:/tempPhotos";
public static void main(String args[]) throws IOException {
// 創建目標文件夾
(new File(url2)).mkdirs();
// 獲取源文件夾當前下的文件或目錄
File[] file = (new File(url1)).listFiles();
for (int i = 0; i < file.length; i++) {
if (file[i].isFile()) {
// 復制文件
File(file[i],new File(url2+file[i].getName()));
}
if (file[i].isDirectory()) {
// 復制目錄
String sourceDir=url1+File.separator+file[i].getName();
String targetDir=url2+File.separator+file[i].getName();
Directiory(sourceDir, targetDir);
}
}
}
// 復制文件
public static void File(File sourceFile,File targetFile)
throws IOException{
// 新建文件輸入流並對它進行緩沖
FileInputStream input = new FileInputStream(sourceFile);
BufferedInputStream inBuff=new BufferedInputStream(input);

// 新建文件輸出流並對它進行緩沖
FileOutputStream output = new FileOutputStream(targetFile);
BufferedOutputStream outBuff=new BufferedOutputStream(output);

// 緩沖數組
byte[] b = new byte[1024 * 5];
int len;
while ((len =inBuff.read(b)) != -1) {
outBuff.write(b, 0, len);
}
// 刷新此緩沖的輸出流
outBuff.flush();

//關閉流
inBuff.close();
outBuff.close();
output.close();
input.close();
}
// 復制文件夾
public static void Directiory(String sourceDir, String targetDir)
throws IOException {
// 新建目標目錄
(new File(targetDir)).mkdirs();
// 獲取源文件夾當前下的文件或目錄
File[] file = (new File(sourceDir)).listFiles();
for (int i = 0; i < file.length; i++) {
if (file[i].isFile()) {
// 源文件
File sourceFile=file[i];
// 目標文件
File targetFile=new
File(new File(targetDir).getAbsolutePath()
+File.separator+file[i].getName());
File(sourceFile,targetFile);
}
if (file[i].isDirectory()) {
// 准備復制的源文件夾
String dir1=sourceDir + "/" + file[i].getName();
// 准備復制的目標文件夾
String dir2=targetDir + "/"+ file[i].getName();
Directiory(dir1, dir2);
}
}
}
}

『貳』 JAVA 復制文件內容

你把你的代碼改一下就好,把String line = fw.readLine();改成

while(line=fw.readLine()!=null){
wt.write(line);
}

循環寫入,一直到寫完就可以了。

『叄』 java 中怎樣復制一個或多文件夾下的多個文件,代碼

在什麼平台下使用,如果在linux上的話,可以考慮使用 執行 shell腳本來完成,在window上的話,可以採用dos命令,這樣會比較方便

『肆』 java程序復制文件的代碼里如何實現更改文件後綴名的

通過獲取文件的名字來得到這個名字的字元串,然後就可以處理了啊!
不需要啊,要使用到文件流的話,那你就是讀取的文件的內容了,與文件名的獲取更改無關的啊!

你的這個代碼有什麼疑問嗎?

你這個代碼就是獲取指定文件夾下的所有文件,列印文件的擴展名,然後寶貝文件嘛

『伍』 java文件復制粘貼

復制粘貼實際上是文件的流讀取和寫入可以通過如下方法實現:
讀寫是兩個不同的分支,通常都是分開單獨使用的。
可以通過BufferedReader 流的形式進行流緩存,之後通過readLine方法獲取到緩存的內容。
BufferedReader bre = null;
try {
String file = "D:/test/test.txt";
bre = new BufferedReader(new FileReader(file));//此時獲取到的bre就是整個文件的緩存流
while ((str = bre.readLine())!= null) // 判斷最後一行不存在,為空結束循環
{
System.out.println(str);//原樣輸出讀到的內容
};
備註: 流用完之後必須close掉,如上面的就應該是:bre.close(),否則bre流會一直存在,直到程序運行結束。
可以通過「FileOutputStream」創建文件實例,之後過「OutputStreamWriter」流的形式進行存儲,舉例:
OutputStreamWriter pw = null;//定義一個流
pw = new OutputStreamWriter(new FileOutputStream(「D:/test.txt」),"GBK");//確認流的輸出文件和編碼格式,此過程創建了「test.txt」實例
pw.write("我是要寫入到記事本文件的內容");//將要寫入文件的內容,可以多次write
pw.close();//關閉流
備註:文件流用完之後必須及時通過close方法關閉,否則會一直處於打開狀態,直至程序停止,增加系統負擔。

『陸』 Java怎麼實現文件拷貝

工具/原料

一台配置了java環境的電腦

一款適合自己的開發集成環境,這里用的是eclipse Kepler


文件拷貝DEMO

1.首先,理清思路,然後我們再動手操作。

拷貝,有源文件,和目的文件。

如果原文件不存在,提示,報錯。

如果目的文件不存在,創建空文件並被覆蓋。

如果目的地址,也即目的路徑不存在,創建路徑。

拷貝,輸入流,輸出流,關閉流。

拷貝前輸出文件大小,計算拷貝大小,比較並核實。輸出。

『柒』 急求:JAVA編寫復制文件夾的代碼

一個簡單的方式就是調用cmd命令,使用windows自帶的功能來替你完成這個功能
我給你寫個例子
import java.io.*;
public class test{
public static void main(String[] args){
BufferedReader in = null;
try{
// 這里你就當作操作對dos一樣好了 不過cmd /c 一定不要動
Process pro = Runtime.getRuntime().exec("cmd /c d:\\ReadMe.txt e:\\");
in = new BufferedReader(new InputStreamReader(pro.getInputStream()));
String str;
while((str = in.readLine()) != null){
System.out.println(str);
}
}catch(Exception e){
e.printStackTrace();
}finally{
if(in != null){
try{
in.close();
}catch(IOException i){
i.printStackTrace();
}
}
}
}
}

『捌』 JAVA代碼復制文件

加上類的全路徑試試呢

『玖』 java中如何實現快速復制文件

public class IOTest2 {

/**
* @author jiang
* @param args
* BufferedReader
* BufferedWriter
* @throws IOException
*/
public static void main(String[] args) throws IOException {
//一次能讀取一行 readLine()方法
BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream("1.txt")));
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream("2.txt")));
String str=null;
while((str=br.readLine())!=null){
//文件末尾讀取為null就結束
bw.write(str);
}
bw.flush();//寫入後刷新
bw.close();//關閉文件
br.close();//關閉文件
}
}

『拾』 java復制文件

我以前寫的一個代碼,希望對你有幫助

importjava.io.*;
publicclassMain
{
publicstaticvoidmain(Stringargs[])throwsException
{
System.out.println("請輸入源文件路徑:");
Stringstr=(newBufferedReader(newInputStreamReader(System.in))).readLine();
System.out.println("請輸入目標文件路徑:");
Stringst=(newBufferedReader(newInputStreamReader(System.in))).readLine();
System.out.println("請輸入緩沖區的大小:");
Stringcatche=(newBufferedReader(newInputStreamReader(System.in))).readLine();
speed(newFile(str),newFile(st),Integer.parseInt(catche));
}
publicstaticvoidspeed(Filefile1,Filefile2,intcache)
{
longt1=System.currentTimeMillis();//開始復制時間
InputStreaminput=null;
OutputStreamout=null;
try
{
intlen=0;
input=newFileInputStream(file1);//創建讀取原文件的流
out=newFileOutputStream(file2);//創建保存文件的流
byte[]bt=newbyte[cache];
while((len=input.read(bt))!=-1)
{
out.write(bt,0,len);//向目標位置寫文件,實現文件復制
}
}
catch(Exceptionex)
{
ex.printStackTrace();
}
finally
{
try
{
out.close();//關閉流
input.close();//關閉流
}
catch(IOExceptione)
{
e.printStackTrace();
}
}
longtime=System.currentTimeMillis()-t1;//運行時間
longlength=file1.length();//文件大小
longlengthKB=length/1024;//轉換文件大小單位
System.out.println("花費時間:"+time+"ms");
System.out.println("文件大小:"+lengthKB+"KB");
System.out.println("速度"+((float)lengthKB/1024/time*1000)+"MB/s");
}
}
閱讀全文

與java復制文件代碼相關的資料

熱點內容
優信二手車解壓後過戶 瀏覽:61
Windows常用c編譯器 瀏覽:778
關於改善國家網路安全的行政命令 瀏覽:833
安卓如何下載網易荒野pc服 瀏覽:654
javainetaddress 瀏覽:104
蘋果4s固件下載完了怎麼解壓 瀏覽:1002
命令zpa 瀏覽:285
python編譯器小程序 瀏覽:944
在app上看視頻怎麼光線調暗 瀏覽:540
可以中文解壓的解壓軟體 瀏覽:592
安卓卸載組件應用怎麼安裝 瀏覽:913
使用面向對象編程的方式 瀏覽:339
程序員項目經理的年終總結範文 瀏覽:929
內衣的加密設計用來幹嘛的 瀏覽:432
淮安數據加密 瀏覽:292
魔高一丈指標源碼 瀏覽:982
松下php研究所 瀏覽:168
c回調java 瀏覽:399
夢幻端游長安地圖互通源碼 瀏覽:745
電腦本地文件如何上傳伺服器 瀏覽:313