JAVA将搜索数组结果打印到文件

JAVA将搜索数组结果打印到文件,java,arrays,design-patterns,text-files,Java,Arrays,Design Patterns,Text Files,在下面的代码中,我可以完成我试图对控制台执行的操作。 如何将控制台中的相同数据输出到文本文件 package javaapplication4; import java.io.*; import java.util.Scanner; import java.util.logging.Level; import java.util.logging.Logger; import java.util.regex.Pattern; public class JavaApplication4 {

在下面的代码中,我可以完成我试图对控制台执行的操作。 如何将控制台中的相同数据输出到文本文件

package javaapplication4;
import java.io.*;
import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.regex.Pattern;


public class JavaApplication4 {

    public static void main(String[] args) throws IOException {

        Scanner s = null;

        try {
            s = new Scanner(new BufferedReader(new FileReader("C:/Users/Daniel/Desktop/Cleaned.txt")));
            s.useDelimiter("\\*");
            String total = (s.next());
            Pattern p = Pattern.compile("\\n[\\n]+");

            String[] parts = p.split(total);

            boolean searchArrayResult = false;
            for (String str : parts) {
                searchArrayResult = str.contains("1ST COAT   BASIS WT");
                if (searchArrayResult) {
                    System.out.println(str);
                } 

            }
            while (s.hasNext()) {

            }
        } catch (FileNotFoundException ex) {
            Logger.getLogger(JavaApplication4.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
            if (s != null) {
                s.close();
            }
        }
    }
}
我试图补充

BufferedWriter bwr = new BufferedWriter(new FileWriter(new File("C:/Users/Daniel/Desktop/Cleaned1.txt")));

            bwr.write(stringBuffer.toString());

            bwr.flush();

            bwr.close();

但它只会打印带有搜索词的最后一个数组。

将数据输出到如下文件中

  try {
        s = new Scanner(new BufferedReader(new FileReader("C:/Users/Daniel/Desktop/Cleaned.txt")));
        s.useDelimiter("\\*");
        String total = (s.next());
        Pattern p = Pattern.compile("\\n[\\n]+");

        String[] parts = p.split(total);

        boolean searchArrayResult = false;
        java.io.File targetFile =new java.io.File("op.txt");
        java.io.FileWriter filew=new java.io.FileWriter(targetFile);
        java.io.PrintWriter print=new java.io.PrintWriter(filew,true);
         for (String str : parts) {
            searchArrayResult = str.contains("1ST COAT   BASIS WT");
            if (searchArrayResult) {
                //System.out.println(str);
                print.println(str);
              }
           }
        while (s.hasNext()) {
        }
     } catch (Exception ex) { }

这会将相同的输出打印到文件中

您使用的是哪个IDE?请参阅:非常感谢nikhilk…就在money@DanielLaRue你为什么不接受这个答案呢。非常感谢。