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();
}

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java读写txt文件时,如果编码格式不匹配,就会出现乱码现象。为了避免中文乱码问题,需要进行以下步骤: 1. 首先,需要对txt文件的编码格式进行研究。在Java中,常见的编码格式有unicode、unicode big endian、utf-8、utf-16、gb2312和ANSI。\[1\] 2. 在读取txt文件时,需要设置正确的编码格式。可以通过解析文件头部的编码格式来获取正确的编码格式,然后按照该格式读取文件。这样就可以避免产生乱码。\[2\] 3. 在建立输入流时,需要使用与原文件一致的编码格式进行读取,以避免出现中文乱码问题。可以使用InputStreamReader类来指定编码格式,例如使用UTF-8编码格式读取文件。\[3\] 下面是一个读取txt文件并避免中文乱码问题的示例代码: ```java String filePath = "d:/1.txt"; BufferedReader br = null; try { File file = new File(filePath); if (!file.exists()) { // 文件不存在的处理逻辑 } FileInputStream fis = new FileInputStream(file); InputStreamReader isr = new InputStreamReader(fis, "UTF-8"); // 避免中文乱码 br = new BufferedReader(isr); List<String> list = new ArrayList<String>(); String line = ""; // 逐行读取文本 while ((line = br.readLine()) != null) { list.add(line); } // 读取文件并执行业务逻辑 // ... return list; } finally { try { if (br != null) { br.close(); } } catch (Exception e) { // 关闭文件失败的处理逻辑 } } ``` 通过以上步骤,可以在Java读写txt文件时避免出现乱码问题。 #### 引用[.reference_title] - *1* *2* [java读取txt文件乱码解决方案](https://blog.csdn.net/lilongfei123321/article/details/84472241)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [JAVA:如何读写txt文件,并解决中文乱码问题](https://blog.csdn.net/quan278905570/article/details/120096446)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值