Java 文件字节字符数据转换
2016-05-09 16:44
681 查看
package io; //: io/BufferToText.java //Converting text to and from ByteBuffers import java.nio.*; import java.nio.channels.*; import java.nio.charset.*; import java.io.*; /* * 转换数据: * 缓冲器容纳的是普通的字节,为了把他们转换成字符,要么在输入的时候对其进行解码,要么将其从缓冲器输出时对他们进行解码。*/ public class BufferToText { private static final int BSIZE = 1024; public static void main(String[] args) throws Exception { FileChannel fc = new FileOutputStream("data2.txt").getChannel(); fc.write(ByteBuffer.wrap("Some text".getBytes())); fc.close(); fc = new FileInputStream("data2.txt").getChannel(); ByteBuffer buff = ByteBuffer.allocate(BSIZE); fc.read(buff); buff.flip(); // Doesn't work: System.out.println(buff.asCharBuffer()); // Decode using this system's default Charset: buff.rewind(); String encoding = System.getProperty("file.encoding"); System.out.println("Decoded using " + encoding + ": " + Charset.forName(encoding).decode(buff)); // Or, we could encode with something that will print: fc = new FileOutputStream("data2.txt").getChannel(); fc.write(ByteBuffer.wrap("Some text".getBytes("UTF-16BE"))); fc.close(); // Now try reading again: fc = new FileInputStream("data2.txt").getChannel(); buff.clear(); fc.read(buff); buff.flip(); System.out.println(buff.asCharBuffer()); // Use a CharBuffer to write through: fc = new FileOutputStream("data2.txt").getChannel(); buff = ByteBuffer.allocate(24); // More than needed buff.asCharBuffer().put("Some text"); fc.write(buff); fc.close(); // Read and display: fc = new FileInputStream("data2.txt").getChannel(); buff.clear(); fc.read(buff); buff.flip(); System.out.println(buff.asCharBuffer()); } }
相关文章推荐
- java的多态以及重载,重写,前期绑定,后期绑定
- java中struts2实现文件上传下载功能
- java自动拆装箱总结
- 使用 Intellij Idea 导出JavaDoc
- myEclipse创建maven项目
- 使用exe4j制作java启动程序等候界面
- java 垃圾回收机制
- 重读java编程思想之向上转型一
- 详解spring事务属性(总结的很好)
- 用eclipse运行java程序显示找不到main class,网上的方法都试了,还是不行,有没有知道怎么解决的呀!
- java获取当前操作系统
- eclipse 快捷键整理
- Java 本地方法
- java.util.Collections 空集合
- java枚举解析
- spring 注解
- dubbo入门介绍及结合spring搭建(源码放送)
- JavaEE中struts2实现文件上传下载功能实例解析
- Spring-JDBC通用Dao
- Java:类与继承