我想知道如何让程序在每次运行时输出一个新的文本文件。例如,首先运行machineslot(1).txt,第二次运行machineslot(2).txt,等等。或者,在输出文件时使输出文件包含在内。
File file = new File("MachineSlot.Txt");
try(PrintWriter out = new PrintWriter(new FileWriter(file));) {
for (int i = 0; i < winData.length; i++){
if (winData[i][0] != 0.0) {
out.printf("You won Machine %.0f. You won $%.2f. You have %.0f quarters which equals $%.2f %n", winData[i][0], winData[i][1], winData[i][2], winData[i][3]);
}
}
for (int k = 0; k < plays.length; k++)
out.println("You were able to play machine " + (k + 1) +" a total of "+ plays[k] + " times.");
}//end of try.
catch(IOException error){
System.out.println("Could not use the IO file");
}//End catch
答案 0 :(得分:2)
我的解决方案是使用文件名并为其添加时间戳。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_blood_g_activity"
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Mature Diabetic Patient"
android:layout_gravity="center"
android:textSize="15dp"/>
<View
android:layout_width="wrap_content"
android:layout_height="30dp"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Enter Your current Blood Sugar"/>
<View
android:layout_width="20dp"
android:layout_height="60dp"/>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/cbs"
android:inputType="number"
android:hint="mg/dl"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Enter Your Target Blood Sugar"/>
<View
android:layout_width="20dp"
android:layout_height="60dp"/>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tbs"
android:inputType="number"
android:hint="mg/dl"/>
</LinearLayout>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Humalog/Novalog"
android:id="@+id/btnhnbs"
android:layout_gravity="center"/>
</LinearLayout>
通常说生成的任何两个文件都会有不同的文件生成时间戳。避免多次检查现有文件。
其他添加具有格式化日期。
File file = new File("MachineSlot_" + System.currentTimeMillis() + ".txt");
答案 1 :(得分:1)
您可以在PrintWriter
代码
File file;
int i = 0;
do{
file = new File(String.format("MachineSlot(%d).Txt", i++));
}
while (file.exists());
答案 2 :(得分:0)
根据您的问题,使用您的文件名添加日期和时间的最佳方式
String date = new SimpleDateFormat("yyyMMddHHmmssSS").format(new Date());
此处将当前日期转换为特定格式,然后文件名将为
File file = new File("MachineSlot" + date + ".txt");
输出看起来像(文件名) -
MachineSlot20171012094424.txt