文件编码转换

读入与写出的字符编码一样(要得到的编码方式).

 

public class FileCharSet {
 
 private LineNumberReader reader;
 private FileInputStream fins;
 private BufferedReader br;
 FileOutputStream fos;
 private String parentDir;
 private String othParentDir;
 // the name of this file
 private String fileContent;
 // The file object of this file.
 private String [] fileNames;
 private File file;
 
 //得到目录下所有文件
 public File[] getFiles(String parent){
  this.parentDir = parent;
  this.file = new File(parentDir);
  if(file.isDirectory()){
   this.fileNames = file.list();
   return file.listFiles();
  }
  
  return null;
 }
//写文件
 static void writeOutput(String str, String strOutFile) {
  try {
   FileOutputStream fos = new FileOutputStream(strOutFile);
   Writer out = new OutputStreamWriter(fos, "utf-8");
   out.write(str);
   out.close();
  } catch (IOException e) {
   e.printStackTrace();
   e.printStackTrace();
  }
 }
//读文件
 static String readInput(String strInFile) {
  StringBuffer buffer = new StringBuffer();
  try {
   FileInputStream fis = new FileInputStream(strInFile);
   InputStreamReader isr = new InputStreamReader(fis,"utf-8");
   Reader in = new BufferedReader(isr);
   int ch;
   while ((ch = in.read()) > -1) {
//    iCharNum += 1;
    buffer.append((char) ch);
   }
   in.close();
   return buffer.toString();
  } catch (IOException e) {
   e.printStackTrace();
   return null;
  }
 }
 
 
 
 
 

 /**
  * @param args
  * @throws IOException
  */
 /**
  * @param args
  * @throws IOException
  */
 public static void main(String[] args) throws IOException {
  String parent ="D://enshiwzw//WriteMQ//testXML";
  FileCharSet fileCharSet = new FileCharSet();
  fileCharSet.othParentDir = parent+"new//";
  File newdir = new File(fileCharSet.othParentDir);
  if(!newdir.exists()){
   newdir.mkdir();
  }
  File [] files = fileCharSet.getFiles(parent);  
  for (int i = 0;i<files.length;i++){
   System.out.println(fileCharSet.fileNames[i]);
   try {
    File temp = new File(fileCharSet.othParentDir+fileCharSet.fileNames[i]);
    if(!temp.exists()){
     try {
      temp.createNewFile();
     } catch (IOException e) {
      e.printStackTrace();
     }
    }
    String inString =readInput(files[i].getAbsolutePath());
    System.out.println(inString);
    writeOutput(inString,fileCharSet.othParentDir+fileCharSet.fileNames[i]);   
     } catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
  }
  
  

 }

}
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值