java nio buffer读取数据乱码问题
2017-10-21 11:25
411 查看
public static void main(String[] args) throws IOException { String charsetName = "GBK"; String fileName = "data.txt"; bufferToTxt(charsetName, fileName); txtToBuffer(charsetName, fileName); } public static void txtToBuffer(String charsetName, String fileName) { try { RandomAccessFile file = new RandomAccessFile(fileName, "rw"); FileChannel fileChannel = file.getChannel(); ByteBuffer buffer = ByteBuffer.allocate(1024); int count = fileChannel.read(buffer); while (count != -1) { buffer.flip(); CharBuffer charBuffer = CharBuffer.allocate(1024); Charset charset = Charset.forName(charsetName); CharsetDecoder decoder = charset.newDecoder(); decoder.decode(buffer, charBuffer, true); charBuffer.flip(); while (charBuffer.hasRemaining()){ System.out.print(charBuffer.get()); } buffer.clear(); count = fileChannel.read(buffer); } fileChannel.close(); file.close(); } catch (Exception e) { e.printStackTrace(); } } public static void bufferToTxt(String charsetName, String fileName){ try { RandomAccessFile file = new RandomAccessFile(fileName, "rw"); FileChannel fileChannel = file.getChannel(); ByteBuffer buffer = ByteBuffer.allocate(1024); buffer.put("世界如此美妙! good luck".getBytes(charsetName)); buffer.flip(); fileChannel.write(buffer); fileChannel.close(); file.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }
相关文章推荐
- Java解析DBF文件,错误Failed to parse Number: For input string: "-.---" 或读取不出数据或乱码问题都在这里解决
- Java解析DBF文件,错误Failed to parse Number: For input string: "-.---" 或读取不出数据或乱码问题都在这里解决
- 使用java.nio及其子包中的类SocketChanel完成如下功能:读取www.baidu.com等网页的内容,打印到控制台,避免中文乱码问题。
- java 记事本读取文本文件的乱码问题,终于解决了 O(∩_∩)O~ 多谢 uu老师帮助
- java中读取excel文件中字符串乱码问题解决方法
- java读取ANSI编码或者UTF-8编码文件乱码问题解决
- java 记事本读取文本文件的乱码问题,终于解决了 O(∩_∩)O~ 多谢 uu老师帮助
- Java读取文件 解决中文乱码问题
- C# Winform 使用 MYSQL 新增,读取数据乱码问题
- java读取文件时在最后的缓冲区内存在多余数据的问题
- java中读取UTF-8文件时有时会出现第一行乱码问题
- Java读取文本文件中文乱码问题
- servlet读取表单数据和返回页面时的中文乱码问题
- Java IO 读取文件中的乱码问题
- Java IO读取文件中文乱码问题
- java插入读取sql server2000乱码问题
- PHP读取MSSQL数据出现乱码的问题
- Java读取中文的乱码问题
- java 读取文本文件的乱码问题???
- java InputStream读取数据问题