之前有好几次碰到文件操作方面的问题,大都由于时间太赶而没有好好花时间去细致的研究研究。每次都是在百度或者博客或者论坛里面參照着大牛们写的步骤照搬过来,之后再次碰到又忘记了。刚好今天比較清闲。于是就在网上找了找Java经常使用的file文件操作方面的资料。之后加以一番整理。现分享给大家。
直接上源代码吧。
package com.file;
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 java.nio.ByteBuffer;
import java.nio.MappedByteBuffer;
import java.nio.channels.FileChannel;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* file operate
* @author ruanpeng
* @time 2014-11-11上午9:14:29
*/
public class OperateFileDemo {
private DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss:SSS");
private Date start_time = null;//開始时间
private Date end_time = null;//结束时间
public static void main(String[] args) {
OperateFileDemo demo = new OperateFileDemo();
demo.operateFile1();
demo.operateFile2();
demo.operateFile3();
demo.fileCopy1();
demo.fileCopy2();
}
/**
* the first method of reading file
*/
public void operateFile1(){
start_time = new Date();
File f = new File("E:"+File.separator+"test.txt");//File.separator——windows is '\'。unix is '/'
try {
//创建一个流对象
InputStream in = new FileInputStream(f);
//读取数据,并将读取的数据存储到数组中
byte[] b = new byte[(int) f.length()];//数据存储的数组
int len = 0;
int temp = 0;
while((temp = in.read()) != -1){//循环读取数据,未到达流的末尾
b[len] = (byte) temp;//将有效数据存储在数组中