只打印一次特定的打印语句

Printing a particular print statement just once

在一组打印语句中,如何只打印一次特定语句?

示例:

public static void nameHere (arguments)
{
                DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
                Date date = new Date();
                FileWriter fw = new FileWriter(filepath,true);
                BufferedWriter bw = new BufferedWriter(fw);
                PrintWriter pw = new PrintWriter(bw);
                pw.println("A , B, C, D, E, F, G, "); //I want to print this satement only once
                pw.print(dateFormat.format(date));


                    if (condition 1)
                    {
                        pw.println("Print STmt1");
                    }
                    else if (condition 2)
                    {
                        pw.println("Print STmt1");

                    }
                    else if (Condition 3)
                    {
                        pw.println("Print STmt1");

                    }
                    else
                    {
                        pw.println("Print STmt1");
                    }

                pw.flush();
                pw.close();
}

这实际上是将日志附加到 "filepath" 中提到的 CSV 文件,我只想打印行 "pw.println("A , B, C, D, E, F, G, ") ;"虽然我多次调用该程序,但只有一次。

我有办法做到这一点吗?

您可以创建一个简单的标志文件。

如果这个文件不存在,则表示没有执行打印语句。打印并创建一个文件。

如果这个文件存在,说明执行了打印语句。不要打印任何东西。

File file = new File("flag.txt");
if(!file.exists()) { 
    pw.println("A , B, C, D, E, F, G, "); //I want to print this satement only once
    file.createNewFile();
}
private static boolean wasPrinted = false;

public static void nameHere(arguments) {
    DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
    Date date = new Date();
    FileWriter fw = new FileWriter(filepath, true);
    BufferedWriter bw = new BufferedWriter(fw);
    PrintWriter pw = new PrintWriter(bw);
    if (!wasPrinted) {
        pw.println("A , B, C, D, E, F, G, ");
        wasPrinted = true;
    }
    pw.print(dateFormat.format(date));

    if (cond 1) {
        pw.println("Print STmt1");
    } else if (cond 2) {
        pw.println("Print STmt1");

    } else if (cond 3) {
        pw.println("Print STmt1");

    } else {
        pw.println("Print STmt1");
    }

    pw.flush();
    pw.close();
}

在发布代码时编辑了代码并添加了您需要执行的检查