`
u011936142
  • 浏览: 43582 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

java对文件拷贝的简单操作

 
阅读更多
package fileInputStream;

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

import javax.swing.JOptionPane;

public class Test3 {

	/**
	 * @param args
	 *            实现功能: 将一个文件拷贝到指定路径中
	 */

	public static void copyFile(String url1, String url2) {

		// 获取指定的需要复制的文件
		File file1 = new File(url1);
		InputStream is = null;

		// 获取指定指向的复制路径
		File file2 = new File(url2);
		OutputStream os = null;
		File file3 = new File(file2, "2.txt");

		// 这里也可以对传入的路径进行一个判断,判断其是否有效,
		if (!file2.exists()) {
			System.out.println("路径不存在,是否进行创建");

			//提示用户
			int var = JOptionPane.showConfirmDialog(null, "指定文件路径不存在,是否将其创建??");

			if (var == 0) {
				file2.mkdirs();// 如果指定的路径不存在,那么就创建一个
				try {
					// 创建文件输入流的实体对象
					is = new FileInputStream(file1);
					// 创建文件输出流的实体对象
					os = new FileOutputStream(file3);

					// 创建缓冲区
					byte[] buffer = new byte[1024];
					// 创建判断实际读取长度的变量
					int len = 0;

					// 向缓冲区读入资源数据
					while ((len = is.read(buffer)) != -1) {
						// 从缓冲区向外输出资源数据
						os.write(buffer, 0, len);
						// flush() 是把缓冲区的数据强行输出
						os.flush();
					}

				} catch (FileNotFoundException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				} finally {
					if (is != null) {
						try {
							// 关闭流资源
							is.close();
						} catch (IOException e) {
							// TODO Auto-generated catch block
							e.printStackTrace();
						}
					}
					if (os != null) {
						try {
							// 关闭流资源?
							os.close();
						} catch (IOException e) {
							// TODO Auto-generated catch block
							e.printStackTrace();
						}
					}
				}
			}else{
				JOptionPane.showMessageDialog(null, "请重新选择路径!");
			}

		} else {
			try {
				// 创建文件输入流的实体对象
				is = new FileInputStream(file1);
				// 创建文件输出流的实体对象
				os = new FileOutputStream(file3);

				// 创建缓冲区
				byte[] buffer = new byte[1024];
				// 创建判断实际读取长度的变量
				int len = 0;

				// 向缓冲区读入资源数据
				while ((len = is.read(buffer)) != -1) {
					// 从缓冲区向外输出资源数据
					os.write(buffer, 0, len);
					// flush() 是把缓冲区的数据强行输出
					os.flush();
				}

			} catch (FileNotFoundException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} finally {
				if (is != null) {
					try {
						// 关闭流资源
						is.close();
					} catch (IOException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
				}
				if (os != null) {
					try {
						// 关闭流资源?
						os.close();
					} catch (IOException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
				}
			}
		}

	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		// 定义指定要拷贝的文件
		String url1 = "F:\\test\\1.txt";
		// 定义指定的拷贝位置即文件名
		String url2 = "F:\\test\\aa\\bb\\c\\d";
		// 调用拷贝文件的方法,
		copyFile(url1, url2);

	}

}

分享到:
评论

相关推荐

    java源码包---java 源码 大量 实例

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    JAVA上百实例源码以及开源项目

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    java源码包4

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    java源码包3

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    JAVA上百实例源码以及开源项目源代码

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    java源码包2

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书 Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程...

    操作系统课程设计文件管理二级文件系统.doc

    为LINUX 设计一个简单的二级文件系统。要求做到以下几点: 1、可以实现下列几条命令(至少4条)。 Login 用户登录 Dir 列文件目录 Create 创建文件 Delete 删除文件 Open 打开文件 Close 关闭文件 Read 读文件 Write...

    java简单--邮件发送

    将mail.properties配置文件拷贝到src目录 第三步骤: 修改配置文件信息 MAIL_ADDRESS=自己的邮箱地址如:chun_chun_liu@126.com MAIL_UNAME=自己邮箱地址登陆名如:chun_chun_liu MAIL_UPWD=自己邮箱地址登陆...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书 Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程...

    Java IO 体系.md

    - 示例:文件拷贝案例 - BIO 和 NIO 拷贝文件的区别 - 操作系统的零拷贝 - 选择器(Selectors) - 选择键(SelectionKey) - 示例:简易的客户端服务器通信 - 总结 Java IO 是一个庞大的知识体系,很多人学...

    深入Java虚拟机(原书第2版).pdf【附光盘内容】

    第5-20章深入描述了java技术的内部细节,包括垃圾收集、java安全模型、java的连接模型和动态扩展机制、class文件、运算及流程控制等等,其中等6章和附录a-c完全可以作为class文件和指令含集的参考手册。本书还附带...

    最新Java面试题视频网盘,Java面试题84集、java面试专属及面试必问课程

    实现一个拷贝文件的类使用字节流还是字符串.mp4 │ Java面试题13.线程的实现方式 怎么启动线程怎么区分线程.mp4 │ Java面试题14.线程并发库和线程池的作用?.mp4 │ Java面试题15.设计模式和常用的设计模式.mp4 │ ...

    Java 基础核心总结 +经典算法大全.rar

    示例:文件拷贝案例 BIO 和 NIO 拷贝文件的区别操作系统的零拷贝 选择器(Selectors) 选择键(SelectionKey) 示例:简易的客户端服务器通信 集合 集合框架总览 -、Iterator Iterable ListIterator 二、Map 和 Collection...

     一.JAVA程序传送到手机的方法:

     安装java程序要有两个文件,一个是JAR和JAD, 但拷贝下来的游戏只有JAD这个文件 和一个JAR压缩文件.首先把JAR压缩文件(压缩文件不要解压)和JAD文件下载到电脑里面去, 把这两个文件直接拷贝到手机里的其它文件这个...

    深入Java虚拟机

    1.3.3 Java class文件 1.3.4 Java API 1.3.5 Java程序设计语言 1.4 Java体系结构的代价 1.5 结论 1.6 资源页 第2章 平台无关 2.1 为什么要平台无关 2.2 Java的体系结构对平台无关的支持 2.2.1...

    2021年最新java面试题--视频讲解(内部培训84个知识点超详细).rar

    实现一个拷贝文件的工具类要使用字节流还是字符串 Java面试题13.线程的的实现方式?怎么启动线程?怎么区分线程? Java面试题14.线程并发库和线程池的作用 Java面试题15.设计模式和常用的设计模式 Java面试题16....

    JAVA基础课程讲义

    第一个简单的IO流程序及深入(将文件中的数据读入) 146 Java中流的概念细分 148 Java中IO流类的体系 149 四个IO基本抽象类 150 InputStream 150 OutputStream 150 常用InputStream和OutputStream子类用法 150 ...

Global site tag (gtag.js) - Google Analytics