NIO 中文乱码问题的解决代码实现
来源:互联网 发布:spss mac 23 教程 编辑:程序博客网 时间:2024/05/19 00:40
之前在网上查询了很多关于解决NIO中文乱码的问题,仁者见仁智者见智,不过就找到的几种方法实现都太繁琐了,稍微研究了下NIO源码,以下是我自己的一种实现,偷懒用最简单的代码去实现是我的习惯!
Demo:
String backupPath = "备份文件夹的路径";backupPath += File.separator + "ERROR";File file = new File(filePath);File backupDirectory = new File("需要复制的文件夹全路径");if(!backupDirectory.exists()) {backupDirectory.mkdir();}//创建临时文件File backupFile = new File(backupPath + File.separator + file.getName());backupFile.createNewFile();FileOutputStream fos = new FileOutputStream(backupFile, false);FileInputStream fis = new FileInputStream(file);//获取输入通道FileChannel fc_in = fis.getChannel();//获取输出通道FileChannel fc_out = fos.getChannel();//创建缓冲区ByteBuffer buffer = ByteBuffer.allocate(102400); //这里用1 或者 一个很大的数 比如1024比较小的数也是有几率出现乱码的CharBuffer charBuffer = CharBuffer.allocate(102400);char[] charCache = null;//字符编码Charset charset = Charset.forName("GBK");CharsetDecoder charDecoder = charset.newDecoder();//读取数据到缓冲区while((fc_in.read(buffer)) != -1) {buffer.flip();charDecoder.decode(buffer, charBuffer, true);charBuffer.flip();charCache = new char[charBuffer.length()]; while (charBuffer.hasRemaining()) {charBuffer.get(charCache);String str = new String(charCache);System.out.println(str);buffer = ByteBuffer.wrap(str.getBytes());}fc_out.write(buffer);charBuffer.clear();buffer.clear();}fis.close();fos.close();
1 0
- NIO 中文乱码问题的解决代码实现
- 解决VS2010复制代码中文乱码的问题
- 中文乱码问题的解决
- 中文乱码问题的解决
- 一行代码解决Qt5中文乱码问题
- nio FileChannel中文乱码问题
- nio FileChannel中文乱码问题
- javadbf 实现解决中文乱码问题
- java代码中实现字符编码转换(解决中文乱码问题)
- vb.net从DataGridView复制到Excel.代码实现,解决中文乱码问题 (转载+亲自实践)
- 解决中文乱码问题
- 解决中文乱码问题
- 解决中文乱码问题
- 解决中文乱码问题
- 解决中文乱码问题
- 解决中文乱码问题
- 解决中文乱码问题
- 解决中文乱码问题
- supervise
- Dagger2 生成代码学习
- Eclipse上使用Android Support library的NavigationView时报Class not found
- 获取sql所有存储过程脚本,获取sql表名,视图名,存储过程名,列名等
- 使用Nodejs中的process模块--child_process.exec 来删除本地文件
- NIO 中文乱码问题的解决代码实现
- IOS self.xxx和_xxx的区别
- selenium操作元素时的实用方法
- InSAR-DInSAR 技术细节(六)相干与相干斑
- telnet dubbo
- 自定义Toast的五种状态
- 在win10 64系统运行“已停止工作”
- OkHttp,Retrofit 1.x - 2.x 基本使用
- CSS和xpath定位demo