java读取文本文件遇到文件中空格对其定列,将第二列以abc开头的行内容另存一文件中

2025-01-10 08:35:05
推荐回答(2个)
回答1:


import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.PrintWriter;

public class $ {
    public static void main(String[] args) {
        File file = new File("D://test.txt");
        BufferedReader in = null;
        PrintWriter out = null;
        try {
            in = new BufferedReader(new FileReader(file));
            String str = "";
            String result = "";
            while ((str = in.readLine()) != null && str.length() > 0) {
                //多个连续空格替换成一个空格然后通过空格分割成数组
                String[] arr = str.replaceAll(" +", " ").split(" ");
                //数组第二个
                if (arr.length > 1 && arr[1].startsWith("abc")) {
                    result += str + "\r\n";
                }
            }
            out = new PrintWriter("D://test1.txt");
            out.write(result);
            System.out.println(result);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            out.flush();
            out.close();
            try {
                in.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

回答2:

用readLine()方法,读到空行的时候对下一行进行判断是不是abc开头
然后另存的话反正多加几个判断的问题,输入输出会的话应该简单