在我的应用程序中,我将游戏中的数据保存到.txt file.
我遇到的问题是,如果游戏超过一分钟播放,文本文件的String
名称会导致文件被分成两部分。
E.g。如果它在9.22am
和9.23am
上播放,则会创建两个sperate文件。
如何创建更合适的文件名,对于每个文件都是唯一的。
与文本文件名相关的代码:
Time t= new Time();
t.setToNow();
int timeFileMinute= t.minute;
int timeFileDate= t.yearDay;
int timeFileYear= t.year;
//creating file name
String fileName= "Maths-" +timeFileMinute + timeFileDate + timeFileYear + android.os.Build.SERIAL;
完全写入文件方法:
public void writeToFileEEGPower(String data){
Time t= new Time();
t.setToNow();
int timeFileMinute= t.minute;
int timeFileDate= t.yearDay;
int timeFileYear= t.year;
//creating file name
String fileName= "Maths-" +timeFileMinute + timeFileDate + timeFileYear + android.os.Build.SERIAL;
//creating the file where the contents will be written to
File file= new File(dir, fileName + ".txt");
FileOutputStream os;
try{
boolean append= true;
os= new FileOutputStream(file, append);
String writeMe =data + "\n";
os.write(writeMe.getBytes());
os.close();
} catch(FileNotFoundException e){
e.printStackTrace();
}catch(IOException e){
e.printStackTrace();
}
}
答案 0 :(得分:-1)
编辑:您应该首先考虑其他策略来生成像随机文件这样的唯一文件名。
你可以这样做:
String fileName = new Date().getTime() + '.txt';
或
String fileName = new SimpleDateFormat("YYYYMMDDhhmmss'.txt'").format(new Date().getTime());
随机生成文件名的方法是:
String name = String.format("%s.txt", RandomStringUtils.randomAlphanumeric(10));
看看这个相关的SO问题: