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实现文件拷贝的4种方法.
原文地址:http://blog.csdn.net/ta8210/article/details/2073817 使用 java 进行文件拷贝 相信很多人都会用,,不过效率上是否最好呢? 最近看了看N ...
- 总结java中文件拷贝剪切的5种方式-JAVA IO基础总结第五篇
本文是Java IO总结系列篇的第5篇,前篇的访问地址如下: 总结java中创建并写文件的5种方式-JAVA IO基础总结第一篇 总结java从文件中读取数据的6种方法-JAVA IO基础总结第二篇 ...
- java中文件的I/O操作
java中文件的读写操作 (一) (1)java中文件的字节转成字符读操作 FileInputStream fStream = new FileInputStream("test.txt&q ...
- java之 ------ 文件拷贝
import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStrea ...
- Java使用poi对Execl简单操作_总结
poi是Apache组织给开发者提供一套操作office(Execl,Word,PowerPoint)等Java API,开发者通过Poi API可以快速的操作office办公软件,以上3篇博文只是一 ...
- 【java】文件复制的简单实现
package 文件操作; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; ...
- java矩阵包jama的简单操作
本文转自http://www.cnblogs.com/zangbo/p/5622351.html 一.jama简介 Jama是一个基本的线性代数java包.包括一个基本的Matrix类和5个矩阵分解类 ...
- Java中对session的简单操作
1.jsp中操作session <% String name=(String)request.getSession().getAttribute("username"); / ...
- Java连接MySQL数据库及简单操作代码
1.Java连接MySQL数据库 Java连接MySql需要下载JDBC驱动MySQL-connector-java-5.0.5.zip(举例,现有新版本).然后将其解压缩到任一目录.我是解压到D盘, ...
随机推荐
- iOS设备、Icon、LaunchImage、图片分辨率
iOS设备 iOS设备的屏幕的大小.分辨率以及比例因数(Scale Factor)[1]. iPhone 设备 宽(inch) 高(inch) 对角线(inch) 逻辑分辨率(point) Scale ...
- ios专题 - GCD(1)
什么是GCD? Grand Central Dispatch或者GCD,是一套低层API,提供了一种新的方法来进行并发程序编写.从基本功能上讲,GCD有点像 NSOperationQueue,他们都允 ...
- 一个js加css加html完成的HTML
效果图: 代码: HTML: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "htt ...
- 删除svn密码方法
很多时候使用svn,我们需要切换svn账号,但是由于之前的账号已经选择了记住密码,那么我们应该如何删除svn密码来切换新的svn账号呢? 其实很简单,svn账号密码信息保存在电脑某一文件中,我们只要删 ...
- EDM推送
一.需求描述: 日前,做了一个发送客户账单的功能,邮件模板采用自定义,生成vm文件,保存至redis, 采用jodd-mail发送邮件,查询用户账单数据,账单明细,缓存加载模板并渲 ...
- ZOJ 1057 Undercut(简单模拟)
Undercut 题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=57 题目大意:a card game,two pla ...
- Command 模式
Command 模式通过将请求封装到一个对象(Command)中,并将请求的接受者存放具体的 ConcreteCommand 类中(Receiver)中,从而实现调用操作的对象和操作的具体实现 者之间 ...
- LuaNode 开源库
受CJSON库的启发,用C++实现解析Lua文件的库. 整个库大概800行代码,因为新鲜出炉,所以有些潜在问题尚未发现. 截图中包含使用例子. 以下接口清单: LuaNode(); LuaNode(c ...
- new Image()的用途
new Image()用途总结: 1.图片预加载 在做游戏时,为了使图片能快打开可以做预加载. 原理:创建image对象,将image对象的src分别指向需加载的图片地址,图片被请 ...
- Android Activity 管理