只打印一次特定的打印语句
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();
}
在发布代码时编辑了代码并添加了您需要执行的检查
在一组打印语句中,如何只打印一次特定语句?
示例:
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();
}
在发布代码时编辑了代码并添加了您需要执行的检查