欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

nio的应用(randomaccessfile、charset)

更新时间: 2014-01-05 02:25:22 责任编辑: Author_N1

 

NIO的使用(RandomAccessFile、Charset)

 

import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.nio.MappedByteBuffer;
import java.nio.channels.FileChannel;
import java.nio.charset.Charset;
import java.nio.charset.CharsetDecoder;
import java.nio.charset.CharsetEncoder;

public class test5 {
	public static void main(String[] args) {
		RandomAccessFile in = null;
		RandomAccessFile out = null;

		try {
			in = new RandomAccessFile("C:\\Users\\liuyuan\\Desktop\\ant.txt",
					"r");
			out = new RandomAccessFile("C:\\Users\\liuyuan\\Desktop\\copy.txt",
					"rw");

			FileChannel fci = in.getChannel();
			FileChannel fco = out.getChannel();

			MappedByteBuffer mbb = fci.map(FileChannel.MapMode.READ_ONLY, 0, in
					.length());

			Charset latin = Charset.forName("ISO-8859-1");

			CharsetDecoder decoder = latin.newDecoder();
			CharsetEncoder encoder = latin.newEncoder();

			CharBuffer cb = decoder.decode(mbb);
			ByteBuffer bb = encoder.encode(cb);

			fco.write(bb);
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			if (null != in) {
				try {
					in.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
			if (null != out) {
				try {
					out.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}

	}
}
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:25:22
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/9602/
本文WWW.DOC100.NET DOC100.NET版权所有。