`
jie_bosshr
  • 浏览: 142824 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

java文件拷贝

阅读更多
package com.hmkcode;

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

public class FileCopy {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		//将D盘test文件夹下的文件拷贝到E盘test文件夹下
		String dir = "D:/test/";
		String newDir = "E:/test/";
		copyFile(dir,newDir);
	}
	
	//复制dir目录下的多个文件fileName到新newDir下
	public static void copyFile(String dir,String newDir) {
		//定义复制新目录
		File newDirFile = new File(newDir);
		//判断newDirFile目录是否存在
		if(newDirFile.exists()){
			//得到dir目录下的所有文件
			File fileDir = new File(dir);
			File[] files = fileDir.listFiles();
			for(File file : files){
				//如果file是文件那么进行copy
				if(file.isFile()){
					File newFiles = new File(newDir+file.getName());
					//如果新目录存在文件则copy,否则进行copy
					if(!newFiles.exists()){
						try {
							InputStream in = new FileInputStream(file);
							OutputStream out= new FileOutputStream(newFiles);
							int read=0;   
				 	        byte[] buffer = new byte[1024];   
				 	        while((read=in.read(buffer,0,1024))!=-1)
				 	        {   
				 	            out.write(buffer, 0, read);   
				 	        }   
				 	        in.close();   
				 	        out.close(); 
						} catch (Exception e) {
							e.printStackTrace(System.out);
						}
					}
				}
			}
		}else{
			//不存在则创建
			newDirFile.mkdir();
			//得到dir目录下的所有文件
			File fileDir = new File(dir);
			File[] files = fileDir.listFiles();
			for(File file : files){
				//如果file是文件那么进行copy
				if(file.isFile()){
					File newFiles = new File(newDir+file.getName());
					try {
						InputStream in = new FileInputStream(file);
						OutputStream out= new FileOutputStream(newFiles);
						int read=0;   
			 	        byte[] buffer = new byte[1024];   
			 	        while((read=in.read(buffer,0,1024))!=-1)
			 	        {   
			 	            out.write(buffer, 0, read);   
			 	        }   
			 	        in.close();   
			 	        out.close(); 
					} catch (Exception e) {
						e.printStackTrace(System.out);
					}
				}
			}
		}
	}

}
分享到:
评论

相关推荐

    java 文件拷贝

    在Java中,文件拷贝是常见的数据操作之一,涉及到数据的读取和写入。文件拷贝可以通过标准的IO流来实现,其中主要有两种不同的拷贝方案。 第一种方案是将文件内容一次性读取到内存中,然后再一次性写入到目标文件。...

    第12讲 Java有几种文件拷贝方式?哪一种最高效?1

    在Java编程中,文件拷贝是一项常见的操作,有多种实现方式。本节主要讨论了三种典型的方法,并探讨了它们的效率和底层实现机制。 首先,Java.IO类库提供了一种基于`FileInputStream`和`FileOutputStream`的文件拷贝...

    功能强大的java实现的拷贝文件的工具类(0)

    功能强大的文件拷贝工具类  复制文件  @author:heyuelin 2011-01-06  @param srcFile 源文件File  @param destDir 目标目录File  @param isClone true:将按照源文件目录拷贝,false:将提取出文件拷贝到...

    用java实现文件拷贝

    Java实现文件拷贝的小程序 本资源是一个使用Java语言实现文件拷贝的小程序,具有很实用的功能。下面是对这个小程序的详细解释和知识点总结: 文件拷贝的基本概念 文件拷贝是将一个文件的内容复制到另一个文件中,...

    JAVA实现文件拷贝进度条同步显示

    文件拷贝的同时,进度条同步显示拷贝进度。只需要修改源文件地址与目标文件地址即可

    okhttp3.0二次封装(独立的3个java文件封装的)

    代码很简单,只有三个Java文件,建议下载后将Java文件拷贝到工程中使用。 封装的功能有: 一般的get请求 一般的post请求 一般的put请求 一般的delete请求 上传单个文件(包含进度) 上传list集合文件 上传map...

    java实现文件复制

    使用java创建文件并复制到另一个文件中

    经典java拷贝 牛安心 北京艺术玻璃

    1. **Java文件拷贝**: 文件拷贝在Java中可以通过`java.io`包中的`FileInputStream`和`FileOutputStream`类来实现。首先,我们需要创建这两个流对象,分别对应源文件和目标文件。然后,我们可以使用`read()`和`...

    java复制文件及复制文件夹

    在Java编程中,复制文件和复制文件夹是常见的操作,特别是在处理数据迁移、备份或程序部署时。下面我们将深入探讨如何使用Java实现这些功能,并提供相关的代码示例。 首先,让我们看看如何复制单个文件。Java标准库...

    Java SE程序 文件的拷贝InputStream类

    Java SE程序 文件的拷贝InputStream类Java SE程序 文件的拷贝InputStream类Java SE程序 文件的拷贝InputStream类Java SE程序 文件的拷贝InputStream类Java SE程序 文件的拷贝InputStream类Java SE程序 文件的拷贝...

    Java 实现拷贝文件

    这里是Java拷贝文件的java文件 可以按照自己选择要拷贝的文本文件 和将拷贝文件存放的目录 只需输入目标文件的地址 和目的文件的地址 以及文件名 即可实现 是课堂例子的拓展实现

    Java无敌 基于网络的文件拷贝

    在Java编程中,实现基于网络的文件拷贝是一项常见的任务,尤其在分布式系统或云存储应用中。这个项目的关键在于高效、稳定地传输大量数据。根据提供的标题和描述,我们来详细探讨一下如何使用Java来实现这样的功能。...

    java swing拷贝文件进度条

    在Java Swing中实现文件拷贝并同时显示进度条是一项常见的任务,特别是在处理大文件时,让用户了解拷贝进度是提高用户体验的重要方式。下面我们将深入探讨如何使用Java Swing来创建这样一个功能。 首先,我们需要...

    JAVA 带进度条的文件拷贝程序

    在Java编程中,创建一个带有进度条的文件拷贝程序是一项实用技能,尤其对于那些希望增强用户界面体验的开发者来说。下面将详细讲解这个“JAVA 带进度条的文件拷贝程序”的核心知识点。 首先,我们需要理解的是,...

    Java实现Linux的远程拷贝

    一旦连接建立成功,我们可以使用`session`对象的`execCommand()`方法执行Linux命令,比如`cp`或`rsync`进行文件拷贝。例如: ```java Channel channel = session.openChannel("exec"); ((ChannelExec) channel)....

    一个控制文件拷贝速度的java程序

    标题中的“一个控制文件拷贝速度的java程序”指的是一个Java程序,它的主要功能是管理文件复制过程的速度,可能是为了防止硬盘过载、优化系统资源使用或者确保数据传输的稳定性。这种程序通常会通过设置一定的速率...

    java 递归拷贝文件显示进度demo

    文件拷贝通常涉及到`java.nio`包中的`Files`类。`copy()`方法可以从源路径复制到目标路径,确保数据的完整性和安全性。在本示例中,每个文件都会被逐个拷贝,并更新进度。 4. **进度显示**: 进度显示的关键在于...

    java 局域网拷贝文件

    在Java编程环境中,实现局域网内的文件拷贝是一项常见的任务,尤其对于系统集成、数据共享或备份场景。本文将详细讲解如何利用Java技术来复制局域网内其他计算机上的文件,并讨论如何替换文件调用路径片段以适应不同...

    黑马java服务器49期视频 2018最新

    根据提供的信息,我们可以推断出该视频资源是关于Java服务器技术的教学内容,主要面向的是希望提升自己在Java服务器开发方面技能的学习者。虽然具体的视频内容无法直接获取,但基于标题、描述以及部分链接,我们可以...

    Java复制文件

    摘要:Java源码,文件操作,复制文件 Java复制文件,使用Java语言编写拷贝文件的演示小程序,附源代码,注释挺全的,通过本源码你可以学习一下Java对文件的事件处理、取得目录内容的事件处理、如何弹出文件选择器,并...

Global site tag (gtag.js) - Google Analytics