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对文件拷贝的简单操作的更多相关文章

  1. Java实现文件拷贝的4种方法.

    原文地址:http://blog.csdn.net/ta8210/article/details/2073817 使用 java 进行文件拷贝 相信很多人都会用,,不过效率上是否最好呢? 最近看了看N ...

  2. 总结java中文件拷贝剪切的5种方式-JAVA IO基础总结第五篇

    本文是Java IO总结系列篇的第5篇,前篇的访问地址如下: 总结java中创建并写文件的5种方式-JAVA IO基础总结第一篇 总结java从文件中读取数据的6种方法-JAVA IO基础总结第二篇 ...

  3. java中文件的I/O操作

    java中文件的读写操作 (一) (1)java中文件的字节转成字符读操作 FileInputStream fStream = new FileInputStream("test.txt&q ...

  4. java之 ------ 文件拷贝

    import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStrea ...

  5. Java使用poi对Execl简单操作_总结

    poi是Apache组织给开发者提供一套操作office(Execl,Word,PowerPoint)等Java API,开发者通过Poi API可以快速的操作office办公软件,以上3篇博文只是一 ...

  6. 【java】文件复制的简单实现

    package 文件操作; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; ...

  7. java矩阵包jama的简单操作

    本文转自http://www.cnblogs.com/zangbo/p/5622351.html 一.jama简介 Jama是一个基本的线性代数java包.包括一个基本的Matrix类和5个矩阵分解类 ...

  8. Java中对session的简单操作

    1.jsp中操作session <% String name=(String)request.getSession().getAttribute("username"); / ...

  9. Java连接MySQL数据库及简单操作代码

    1.Java连接MySQL数据库 Java连接MySql需要下载JDBC驱动MySQL-connector-java-5.0.5.zip(举例,现有新版本).然后将其解压缩到任一目录.我是解压到D盘, ...

随机推荐

  1. OC调用Swift 整理步骤!总结别人的!方便自己查找!

    1. 2. 上面的修改了一个配置项,有一个Product Module Name在后面会使用. 在工程里面点击File/New/File…,选择iOS/Source/Cocoa Touch Class ...

  2. phpExcel使用与中文处理教程

    PHPExcel 是相当强大的 MS Office Excel 文档生成类库,当需要输出比较复杂格式数据的时候,PHPExcel 是个不错的选择.不过其使用方法相对来说也就有些繁琐. phpExcel ...

  3. php实现无限级树型菜单(函数递归算法)

    首先到数据库取数据,放到一个数组,然后把数据转化为一个树型状的数组,最后把这个树型状的数组转为html代码.也可以将第二步和第三步合为一步. 详细如下:1.数据库设计:脚本如下:CREATE TABL ...

  4. 【原创】史上最全的Android开发环境搭建

    开始学习Android了 看着眼花缭乱的教程真心无奈...So  无耻的来了个大综合 自己充当了小白鼠.. (PS 若文章中链接失效 请留言反馈me会尽快修复) 开始的开始 java运行环境还是很必要 ...

  5. LICAppInfo

    [Common] Enabled=true All=true [AppList] #AppName                       #Enabled            #Validit ...

  6. 配置处理结果result

    Action处理完用户请求后返回一个字符串,整个字符串就是一个逻辑视图名. 除此之外,struts2还支持多种结果映射,struts2将结果转为实际资源时,不仅可以是JSP视图资源,也可以是FreeM ...

  7. php5.4安装ecshopphp5.4问题及解决

    includes/cls_template.php line422 将 $tag_sel = array_shift(explode(" ", $tag)); 这句话拆开为两句. $tag_exp = ...

  8. js监听鼠标滚动

    //加载顺序问题,不可改变位置    var scrollFunc = function(e){   e = e || window.event;   if (e.wheelDelta) {    i ...

  9. RecordSet .CacheSize, Properties,CurserType,PageSize

    使用 CacheSize 属性可以控制一次要从提供者那里将多少个记录检索到本地内存中.例如,如果 CacheSize 为 10,首次打开 Recordset 对象后,提供者将把前 10 个记录检索到本 ...

  10. android调试bug集锦 onActivityResult立即返回,并且被CANCEL

    症状: 在使用startActivityForResult调用照相机或者选择图片的时候,总是onActivityResult立马返回,resultCode=0 CANCEL. startActivit ...