java读写txt文件(无乱码版)

package iptv;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class ParseFileTest {

/**
* 用于解析日志文件,生成符合条件的东西
* @param args
* @CreateDate:2013-7-22 下午8:43:27
* @throws IOException
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
String path = "E:/31/catalina.out.2013-07-19";
String destPath = "E:/31/output.txt";
File srcfile = new File(path);
File destFile = new File(destPath);

if(!destFile.exists()){
    destFile.createNewFile();
  }

// FileReader ins = new FileReader(srcfile);
InputStreamReader read = new InputStreamReader(new FileInputStream(srcfile),"GBK");
OutputStreamWriter write = new OutputStreamWriter(new FileOutputStream(destFile,true),"GBK");

//   FileWriter outs = new FileWriter(destFile);
 
  BufferedReader readBuf = new BufferedReader(read);
  BufferedWriter writeBuf = new BufferedWriter(write);

  String s = null;
  String temp = null;
  while((s=readBuf.readLine())!=null){
//   s = new String(s.getBytes(),"utf-8"); 
  System.out.println(s);
if(s.indexOf("接受到SOAP请求{ ")<0){
continue;
}
temp = s.substring(s.indexOf("接受到SOAP请求{ "),s.indexOf("}"));
   System.out.println(temp);
   writeBuf.write(temp);
   writeBuf.newLine();//启用新的一行
   writeBuf.flush();
  }

  
  readBuf.close();
  writeBuf.close();
  read.close();
  write.close();
}

}

你可能感兴趣的:(java)