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盘, ...
随机推荐
- Error Domain=com.google.greenhouse Code=-102
*** Terminating app due to uncaught exception 'com.google.greenhouse', reason: 'Error Domain=com.goo ...
- pl/sql编程
body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...
- 2014-11-26----css的简介
CSS :层叠样式表 cascading style sheets 它的作用是:美化html网页 格式:样式名:值:样式名:值:样式名:值: 注释语法:/* 注释内容 */ 选中代码按TAB,代码左移 ...
- mysql 中执行的 sql 注意字段之间的反向引号和单引号
如下的数据表 create table `test`( `id` int(11) not null auto_increment primary key, `user` varchar(100) no ...
- javascript div跟随鼠标移动
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- mssql 获取表结构信息
SELECT (case when a.colorder=1 then d.name else null end) 表名, a.colorder 字段序号,a.name 字段名, (case when ...
- C语言的预处理命令
C语言编译器处理时经过的第一个步骤是预处理,就是从.c文件处理为.i文件.在预处理时编译器做了一些展开替换的处理. 1>头文件展开,即将#include "stdio.h"类 ...
- Ipv6_Only-b
网上好多关于ipv6的资料,说半天ipv6是什么,怎么建立测试环境,,,可是没有看到具体的操作和解决的方案,这里,为大家提供一种方案,希望给大家带来帮助吧. 总的来说有三个方面需要进行检查和修改: 1 ...
- 自动生成makefile的脚本
如果需要测试某一个特性,写了一个test.cpp 某天又增加了一个utils.cpp,依此类推,测试文件越来越多 每次测试时都要手动维护一个makefile实在是不明智的 于是萌生了用脚本自动维护的念 ...
- 10071 - Back to High School Physics
Problem B Back to High School Physics Input: standard input Output: standard output A particle has i ...