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盘, ...
随机推荐
- html5 + css3 + zepto.js实现的微信广告宣传页
最新学习html5 + css3, 参考微信的一个推广页写出一个实例巩固自己知识,自己已经将原实例打包到自己博客文件当中,但是不知道如何提供下载,如有需要的朋友可以联系我qq309666726
- Python:对象
#!/usr/bin/python3 #对象实例 class Person: num=200 def __init__(self,name,sex): self.name=name self.sex= ...
- windows phone 之ListBox模板选择
有时做项目时,会遇到一种情况:需要把获取到的数据集合显示到首页,比如新闻,但是: 新闻也分类别啊,比如:图片类新闻.文字类新闻.视频类新闻. 那我们可能采用的模板就不一样了,那么,如何根据类别来选择模 ...
- Windows phone 之Interaction.Triggers的使用
两个步骤:1.添加以下两个程序集System.Windows.InteractivityMicrosoft.Expression.Interactions 2.添加xmlns:i="clr- ...
- MVVM模式应用 之NotificationObject类
public abstract class NotificationObject : INotifyPropertyChanged { public event PropertyChanged ...
- 安装sql server 2008,提示要删除SQL Server 2005 Express 工具 怎么解决?
x86 修改注册表:HKLM\Software\Microsoft\Microsoft SQL Server\90\Tools\ShellSEM,把 ShellSEM重命名即可. x64 ...
- freeswitch 拨号时添加自定义变量
Using Channel Variables in Dialplan Condition Statements Channel variables can be used in conditions ...
- 前端图片预览,上传前预览,兼容IE7、8、9、10、11,Firefox,Chrome(学习到的知识)
文章地址:http://www.cnblogs.com/rubylouvre/p/4597344.html 一.window.URL 在Chrome中,window.URL和window.webkit ...
- ORACLE 字符串操作
1 字符串连接 SQL> select 'abc' || 'def' from dual; 'ABC'|------abcdef 2 小写SQL>select lower('ABC01 ...
- swift中类似宏定义
建一个类 如,在Contans.swift中 import UIKit let kMAIN_SIZE = UIScreen.mainScreen().bounds 在其他地方直接用 比如在 MyTab ...