
正文
Java——新IO 通道
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示

import java.io.File;
import java.io.FileOutputStream;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;//=================================================
// File Name :FileChannel_demo
//------------------------------------------------------------------------------
// Author :Common//主类
//Function : FileChannel_demo
public class FileChannel_demo {public static void main(String[] args) throws Exception{
// TODO 自动生成的方法存根
String info[] = {"123","456","789"};
File f = new File("/home/common/software/coding/HelloWord/HelloWord/out.txt");//路径
FileOutputStream output = null;
output = new FileOutputStream(f);
FileChannel fout = null;//声明输出的通道
fout = output.getChannel();//得到输出的文件通道
ByteBuffer buf = ByteBuffer.allocate(1024);//开辟缓冲
for(int i=0;i<info.length;i++){
buf.put(info[i].getBytes());
}
buf.flip();//重设缓冲区,准备输出
fout.write(buf);//输出
fout.close();
output.close();}}
读写文件
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;//=================================================
// File Name :FileChannel_demo
//------------------------------------------------------------------------------
// Author :Common//主类
//Function : FileChannel_demo
public class FileChannel_demo {public static void main(String[] args) throws Exception{
// TODO 自动生成的方法存根File f1 = new File("/home/common/software/coding/HelloWord/HelloWord/out.txt");//路径
File f2 = new File("/home/common/software/coding/HelloWord/HelloWord/outnote.txt");//路径
FileInputStream input = null;
FileOutputStream output = null;
input = new FileInputStream(f1);
output = new FileOutputStream(f2);
FileChannel fin = null;//声明输入的通道
FileChannel fout = null;//声明输出的通道
fin = input.getChannel();//得到输入的文件通道
fout = output.getChannel();//得到输出的文件通道
ByteBuffer buf = ByteBuffer.allocate(1024);//开辟缓冲
int temp = 0;//声明变量接收内容
while((temp=fin.read(buf)) != -1){
buf.flip();
fout.write(buf);
buf.clear();
}
fin.close();
fout.close();
input.close();
output.close();}}










