java中读写文件的方式有很多
1、使用byte,按照字节读取
2、使用character,按照字符读取
3、使用reader,按照行读取
4、使用buffer,缓存读取
5、使用channel,通道读取
而比较上面几种方法:效率也是依次高效
这里之说按照通道读取方法:
package com.uno.file;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
public class RWFile {
/**
*leip 2016年10月8日
*TODO
**/
private static final String PATH = "E:\\work\\总结\\汇总总结文档\\java知识点.xls";
/**
* 使用通道读写文件,效率最快
* @param filePath
*/
public static void readFileByChannel(String filePath) {
FileInputStream in = null;
FileOutputStream out = null;
try {
in = new FileInputStream(filePath);
out = new FileOutputStream("E:\\work\\总结\\汇总总结文档\\java知识点1.xls");
// 获取输入输出通道
FileChannel fcIn = in.getChannel();
FileChannel fcOut = out.getChannel();
ByteBuffer buffer = ByteBuffer.allocate(1024);
while (true) {
buffer.clear();
int len = fcIn.read(buffer);
if (len == -1) {
break;
}
buffer.flip();
fcOut.write(buffer);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (in != null && out != null) {
try {
in.close();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
public static void main(String[] args) {
readFileByChannel(PATH);
}
}