转码的几种方式
来源:互联网 发布:定义结构体数组 编辑:程序博客网 时间:2024/05/21 14:01
1.字符串转码---适用于小批量转码
String name =new String(request.getParameter("name").getBytes("ISO8859-1"),"UTF-8");
2.IO流方式-----适用于大批量转码
package com.lrq.entity;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.io.PrintWriter;/** * 将批量的gbk的乱码文件转换到utf8 将gbk的代码放到srcDir之下,转码置destDir之下 */public class UTF8Parser {/** * * */protected static File srcDir = new File("E:/develop/srcDir/"); // 待转码的GBK格式文件夹protected static File destDir = new File("E:/develop/destDir/"); // 转码成UTF8的目标文件夹public static void main(String[] args) {System.out.println("----start----");// 1.判断是目录if (!srcDir.isDirectory()) {return;}// 2.遍历所有目录File[] fs = srcDir.listFiles();// 创建目标目录if (!destDir.exists()) {destDir.mkdirs();}try {new UTF8Parser().parse(fs, destDir.getPath());} catch (IOException e) {e.printStackTrace();}System.out.println("-----end-----");}/** * 目录迭代遍历;文件夹目录重新生成,文件转码重建 */private void parse(File[] fs, String folder) throws IOException {for (File file : fs) {if (!file.isDirectory()) {if (file.getName().lastIndexOf(".java") < 0) {File destFile = new File(folder, file.getName());destFile.createNewFile();continue;}File destFile = new File(folder, file.getName());parse2UTF8(file, destFile);} else {File newFolder = new File(file.getPath().replace(srcDir.getPath(), destDir.getPath()));newFolder.mkdirs();parse(file.listFiles(), newFolder.getPath());}}}/** * 转码UTF8 */private void parse2UTF8(File file, File destFile) throws IOException {StringBuffer msg = new StringBuffer();// 读写对象PrintWriter ps = new PrintWriter(new OutputStreamWriter(new FileOutputStream(destFile, false), "utf8"));BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file), "gbk"));// 读写动作String line = br.readLine();while (line != null) {msg.append(line).append("\r\n");line = br.readLine();}ps.write(msg.toString());br.close();ps.flush();ps.close();}}
1 0
- 转码的几种方式
- 码农提高工作效率的几种方式
- 生成验证码的几种方式
- java输入的几种方式 转
- JSON转Map的几种方式
- int转String的几种方式
- 绘图的几种方式
- 订单的几种方式
- XML的几种方式
- 解析的几种方式
- 备份的几种方式
- 几种继承的方式
- Dialog的几种方式
- 数据库连接的几种方式
- 事务管理的几种方式
- 端口映射的几种方式
- 延迟的几种方式
- JS实现伪验证码的几种方式
- Linux查看系统配置及JDK相关命令
- Android 禁止Viewpager左右滑动功能NOScrollViewPager
- Bootstrap Tree View API
- Ubuntu 16.04.1安装教程
- ise 用ip核倍频
- 转码的几种方式
- Niushop 商城系统目录结构说明
- Android动画案例(二)补间动画
- MAC创建ipv6热点
- CMSIS-RTOS2 应用笔记 二 配置接口
- H2O框架简介(转载)
- 【Java基础】String StringBuffer StringBuilder
- 阅读笔记:Gated Bi-directional CNN for Object Detection
- combobox无法显示选中的数据,都是undefined