1. 程式人生 > >【java】IO流 實現簡單的複製功能

【java】IO流 實現簡單的複製功能

package ioTest;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

/**
 * 實現簡單的複製功能
 * @author shihuafu 2013/10/25
 * 
 */
public class CopyDemo20131025 {
	// 把拷貝檔案,如果新檔案不存在,自動建立
	static void copyFile(File src, File dst) throws IOException {
		InputStream in = new FileInputStream(src);
		OutputStream out = new FileOutputStream(dst);

		// Transfer bytes from in to out
		byte[] buf = new byte[1024];
		int len;
		while ((len = in.read(buf)) > 0) {
			out.write(buf, 0, len);
		}
		in.close();
		out.close();
	}

	// 遞迴拷貝資料夾,如果新資料夾不存在則自動建立。
	public static void copyDirectory(File srcDir, File dstDir)
			throws IOException {
		if (srcDir.isDirectory()) {
			if (!dstDir.exists()) {
				dstDir.mkdir();
			}

			String[] children = srcDir.list();
			for (int i = 0; i < children.length; i++) {
				copyDirectory(new File(srcDir, children[i]), new File(dstDir,
						children[i]));
			}
		} else {
			copyFile(srcDir, dstDir);
		}
	}

	// 呼叫這個方法
	public static void copy(File srcDir, File dstDir) throws IOException {
		if (!srcDir.isDirectory() && !srcDir.exists()) { // 判斷(原始檔夾)和(原始檔)是否存在
			System.out.println("原始檔不存在!!!");
		} else {
			System.out.println("正在複製,請稍後");
			copyDirectory(srcDir, dstDir);
			System.out.println("資料夾複製成功!!!");
		}
	}

	public static void main(String[] args) throws IOException {
		// 這裡是定義了目標資料夾和原始檔夾
		File f1 = new File(
				"C:/Documents and Settings/Administrator/桌面/截至20131021/20131011/");
		File f2 = new File("D:/JavaTest/copy/");
		copy(f1, f2);

	}

}

相關推薦

javaIO 實現簡單複製功能

package ioTest; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import

Java筆記IO中檔案複製及異常處理

import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class Main

JavaIO整理之常用使用簡例

      趕緊的趁著午休的時間寫一篇,接著上篇【Java】IO整理之File類使用大全的一些內容,後面需要忙點兒事情可能往後兩天都沒辦法更新部落格了,後面我爭取申請一個部落格專欄,我最近學習了PHP以後萌發了製作安卓+PHP互動的一個小專案,爭取將其作為我的日

JavaIO byte[] 轉FileInputStream

/** * 位元組轉FileInputStream * * @param bytes * @return */ public FileInputStream byteToFile(byte[] bytes, Strin

java中利用IO實現簡單的圖書管理系統(利用陣列和IO實現

這個案例,主要對陣列及IO流進行總結! 利用IO流實現簡單的圖書管理系統,在控制檯上列印! 功能:1,檢視所有書籍   2,新增書籍 3,刪除書籍 4,修改書籍 5,退出 package com.baojian.bookStore; import java.io.Buf

基礎-----IO的理解

 1.檔案讀寫        (1) java 檔案模型              在硬碟上的檔案是byte byte byte儲存的,是資料的集合    

使用者登入使用javaIO實現將資料儲存到data目錄下

一、效果展示 1、最初可以看到data/data目錄下該專案只有一個cache資料夾和lib檔案 第一次執行程式,使用者名稱和密碼皆為空。 當我們輸入使用者名稱和密碼後,點選登入專案目錄下出現名為info.txt的文件,開啟它可以看到原先輸入的使用者名稱和密碼。 第二次執行

JavaArrayUtils的實現

public class ArrayUtils{ //1.計算陣列中最大值 public static int arrayMaxElement(int[] data){ int max = data[0]; for(int i=0; i<data.leng

Java用註解實現注入

在Spring中,可以通過包掃描,找到帶有註解的類和方法,通過反射機制進行注入; 接下來會仿照這種模式,簡單模擬其原理,完成核心效果: 類標識的註解,只有帶有該標識,才進行之後方法的掃描,否則不進行: import java.lang.annotation.El

JAVAHashMap底層實現原理淺談

                                  HashMap底層實現原理淺談 不論是實習還是正式工作,HashMap的底層實現原理一直是問地頻率最高的一個內容,今天記錄一下自己對HashMap的理解,如有不當之處,還請各位大佬指正。 一、前置名詞解釋

JavaScript11.JS實現簡單的時分秒倒計時

程式碼: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>js簡單時分秒倒計時</title

6、使用IO實現檔案複製並修改檔案字尾

程式設計題目: 6.編寫一個程式,將D:\java目錄下的所有.java檔案複製到D:\jad目錄下,並將原來檔案的副檔名從.java改為.jad。 示例程式碼: package program.stream.exercise06; impo

javaKDTree,實現java版本,留著日後可能用得上

Java版本KDTree 在KDTree中,只有n >> 2 ^ xn時,在明顯得有KDTCount << n, n是點的個數, xn是點的維數 KDTCount是在KDTree搜尋時計算距離的次數統計 package main; import

IO 實現檔案複製

import  java.io.*; public  class IO2 { public static void main(String []args){       try { File f1= new File("F:" + File.separator + "do

Java緩衝如何提高效能

前言         本文寫的粗糙,僅作於工作間隙的隨筆。         傳統的Java IO是基於阻塞的,他的工作狀態就是“讀/寫,等待,讀/寫,等待······”。         緩衝流有位元組和字元兩種,原理上幾乎差不讀,本處以位元組緩衝路來進行討論。 一、

Python 2種實現檔案複製的方法

#coding:utf-8 # 方法1:使用read()和write()模擬實現檔案拷貝 # 建立檔案hello.txt src = file("hello.txt", "w") li = ["H

java支付寶實現退款功能

        最近完成的差不多的專案突然需要加退款的流程需求了,所以來小小的實現以下。其實對比其他的支付和退款來說,支付寶算是特別專業,也是特別簡單的一個了,所以,先拿他來開刀了。一、引入支付寶SDK        在這裡說一下,其實每種支付都會有一個官方帶的SDK,我們可

JavaIO整理之File類使用大全

      說到做到哈,上篇文章【Java】基於TCP協議多執行緒伺服器-客戶端互動控制檯聊天室簡例寫到的寫IO的,這回就稍微整理下吧,剛回學校不久,整理得少點兒,都整理寢室去了[笑]~       下面列出常用的Flie類的內容,並且附上例項程式碼: Fi

搜尋引擎Solr Suggester 實現全文檢索功能-分詞和和自動提示

功能需求 全文檢索搜尋引擎都會有這樣一個功能:輸入一個字元便自動提示出可選的短語: 要實現這種功能,可以利用solr的SuggestComponent,SuggestComponent這種方法利用Lucene的Suggester實現,並支援Lucene中可用的所有查詢實現。 實現 1. 配置 manage

JavaSwing+IO實現一個簡單的文件加密程序

als oncommand override fault 源文件 abs directory imp select EncrytService package com.my.service; import java.io.File; import java