java实现文件编码格式的转化
2014-04-16 14:08
393 查看
本文主要是用Java实现文件编码格式的转换,处理各种乱码问题。
本文转自:http://blog.csdn.net/bwgang/article/details/7955964
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.UnsupportedEncodingException; import java.util.Vector; public class AnsiToUtf8 { public static void main(String[] args) throws UnsupportedEncodingException, IOException { ReadFileName tmp = new ReadFileName(); Vector<String> vec = tmp.FileNameOftype("file\\comments", ".txt"); int size = vec.size(); System.out.println(size); for (int i = 0; i < size; i++) { change(vec.get(i)); System.out.println(vec.get(i) + " " + i); } } public static void change(String filepath) throws UnsupportedEncodingException, IOException { BufferedReader buf = null; OutputStreamWriter pw = null; String str = null; String allstr = ""; // 用于输入换行符的字节码 byte[] c = new byte[2]; c[0] = 0x0d; c[1] = 0x0a; String t = new String(c); buf = new BufferedReader(new InputStreamReader(new FileInputStream( filepath), "gb2312")); //gb2312转成其他的编码 /* GBK转成其体的编码 buf = new BufferedReader(new InputStreamReader(new FileInputStream( filepath), "GBK"));*/ while ((str = buf.readLine()) != null) { allstr = allstr + str + t; } buf.close(); pw = new OutputStreamWriter(new FileOutputStream(filepath), "UTF-8"); //最终要转换成的文件的编码格式是utf-8 pw.write(allstr); pw.close(); } } class ReadFileName { // 存储遍历获取的所有文件名 private Vector<String> filelist = new Vector<String>(); // 遍历指定路径下的所有文件 // 以ArrayList存储于filelist中 private void RefreshFileList(String strpath) { File dir = new File(strpath); File[] files = dir.listFiles(); if (files == null) return; for (int i = 0; i < files.length; i++) { if (files[i].isDirectory()) { RefreshFileList(files[i].getAbsolutePath()); } else { filelist.add(files[i].getAbsolutePath()); } } } //过滤当前目录下的指定后缀名的文件 //返回Vector public Vector<String> FileNameOftype(String strpath2, String filetype) { String strfilename = new String(); Vector<String> filelistofType = new Vector<String>(); //读取指定路径下的所有文件 RefreshFileList(strpath2); for (int i = 0; i < filelist.size(); i++) { strfilename = filelist.get(i).toString(); strfilename = strfilename.substring(strfilename.length() - 4, strfilename.length()); if (strfilename.equals(filetype)) { filelistofType.add(filelist.get(i)); } } return filelistofType; } }
本文转自:http://blog.csdn.net/bwgang/article/details/7955964
相关文章推荐
- Java实现将GBK编码格式的文件夹中所有文件都转化为UTF-8格式的文件,编码格式转化
- java网络编程--解析通过web.xml文件控制利用过滤器实现编码格式步骤
- INI文件格式以及Java编码实现读取
- 识别常见编码格式文件并转换成UTF-8编码 的java实现 源码
- 识别常见编码格式文件并转换成UTF-8编码的java实现
- linux服务器上文件编码格式转化shell
- java中获取TXT文件编码格式
- 解析通过web.xml文件控制利用过滤器实现编码格式步骤
- HTTP POST请求报文格式分析与Java实现文件上传
- [Java学习] 将PDF格式文件转成二进制并生成Base64编码,将Base64编码转成PDF文件
- java文件读写操作指定编码格式[转]
- java实现文件编码监测
- java实现文件编码监测(转)
- Java读取txt文件编码格式
- JAVA 导出Excel2003格式文件实现代码
- Java指定编码格式读写文件
- java文件读写操作指定编码格式
- YAML的Java实现——JYAML基本原理与示例(2)导入YAML格式文件
- UTF-8格式编码与UTF-8无BOM格式编码的区别(包括java文件)
- HTTP POST请求报文格式分析与Java实现文件上传