嘿牛程序员__成都传智博客__文件的拷贝:单个文件的拷贝(下)
来源:互联网 发布:数据自动传输的风速仪 编辑:程序博客网 时间:2024/06/12 21:11
---------------------- android培训、java培训、期待与您交流! ----------------------
本节继续研究单个文件的拷贝
前面我们主要采用了两种方法,一种是通过字节流,一种是被包装称字符流。那么我们是否可以选取一种整体移动的方法,于是我们就想到了通道。
下面我们主要通过通道FileChannel,以及方法getChannel()、transferFrom(),来实现文件的拷贝
//实现如下
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.channels.FileChannel;
import java.io.*;
public class FoundationTest1
{
/**
*编写程序拷贝一个文件. 尽量使用效率高的方式。
*/
public static void main(String[] args)
{
if(args.length<2)
{
System.out.println("参数不够,请输入两个参数");
}
else
if(args.length >2)
{
System.out.println("参数太多,请输入两个参数");
}
else
{
copyFile(args[0],args[1]);//java FoundatiinTest1 d:\1.txt e:\1.txt
}
}
/**
*FileChannel 用于读取、写入、映射和操作文件的通道。
*文件中的某个区域直接映射到内存中;对于较大的文件,这通常比调用普通的 read 或 write 方法更为高效。
*/
private static void copyFile(String str1,String str2)
{
File file1=new File(str1);
File file2=new File(str2);
try
{
FileInputStream fis = new FileInputStream(file1);
FileOutputStream fos = new FileOutputStream(file2);
FileChannel fc1 = fis.getChannel();
FileChannel fc2 = fos.getChannel();
fc2.transferFrom(fc1, 0, fc1.size());
fc1.close();
fc2.close();
fis.close();
fos.close();
}
catch(FileNotFoundException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
---------------------- android培训、java培训、期待与您交流! ----------------------详细请查看:http://edu.csdn.net/heima
- 嘿牛程序员__成都传智博客__文件的拷贝:单个文件的拷贝(下)
- 嘿牛程序员__成都传智博客__文件的拷贝:单个文件的拷贝(上)
- 嘿牛程序员__成都传智博客__文件的拷贝:实现整个文件夹的拷贝
- 嘿牛程序员__成都传智博客__网络编程(下)
- 嘿牛程序员__成都传智博客__网络编程(上)
- 嘿牛程序员__成都传智博客__包装类(一)
- 嘿牛程序员__成都传智博客__包装类(二)
- 嘿牛程序员__成都传智博客__javascript的注册表单验证、提交问题
- 嘿牛程序员__成都传智博客__可变参数举例
- 嘿牛程序员__成都传智博客__枚举的一个带参构造函数的实现——以交通灯的转换为例
- 嘿牛程序员__成都传智博客__枚举的一个带有case的普通实现——以星期的转换为例
- 嘿牛程序员__成都传智博客__JavaScript中的复选框的全选、反选问题
- C++对象的构建__浅拷贝与深拷贝
- linux下的文件拷贝
- 实现整个文件夹及单个文件的拷贝
- 实现整个文件夹及单个文件的拷贝
- 曾经的笔记迁移__文件
- 文件之间的拷贝
- SSH2+JQuery 简单的用户校验 登陆
- On the Criteria To Be Used in Decomposing Systems into Modules
- 黑马程序员_IO流-转换流的学习
- dhtmlxtree中文API说明书
- Android进阶:ListView性能优化异步加载图片 使滑动效果流畅
- 嘿牛程序员__成都传智博客__文件的拷贝:单个文件的拷贝(下)
- 世界一流大学怎样培养程序员?
- 黑马程序员_IO流-装饰设计模式
- Linux之父炮轰C++:糟糕程序员的垃圾语言
- 理解WebKit和Chromium: WebKit的CSS实现
- 可变参数函数的实现
- Windows 文件系统过滤驱动开发教程 (第二版)
- invalid conversion from `const char*' to `char*' 的解决方法
- Python 发送带附件邮件客户端