У меня есть приложение android, которое собирает данные с датчика. После каждого запуска создается группа текстовых файлов (например, A.txt, B.txt, C .txt, ...). Моя проблема после каждого запуска, все текстовые файлы перезаписываются. Я хочу создать папку с новым именем, состоящим из текущей даты и времени создания (например, 2020-02-07_11_41), а затем сохранить все мои текстовые файлы в новую созданную папку.
Извините, у меня есть очень низкое знание Android Studio. следующее является частью моего кода, который я хочу изменить:
if (b != null) {
b.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
Random r = new Random();
int subID = r.nextInt(200000);
// set up subject data file
try {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.US);
Calendar c = Calendar.getInstance();
String astring = df.format(c.getTime());
astring = astring.replace(":", "_");
afilename = Environment.getExternalStorageDirectory().getPath() + "/donor_" + astring + ".txt";
File scdatafile = new File(afilename);
FileOutputStream scdataout;
OutputStreamWriter scdatawriter;
if (scdatafile.exists())
{
scdatafile.delete();
scdatafile.createNewFile();
scdatafile.setReadable(true);
scdataout = new FileOutputStream(scdatafile);
scdatawriter = new OutputStreamWriter(scdataout);
}
else
{
scdatafile.createNewFile();
scdatafile.setReadable(true);
scdataout = new FileOutputStream(scdatafile);
scdatawriter = new OutputStreamWriter(scdataout);
}
scdatawriter.append(" ");
scdatawriter.close();
scdataout.close();
} catch (Exception e) {
Toast.makeText(getBaseContext(), e.getMessage(), Toast.LENGTH_SHORT).show();
}
// set up time data file
try {
String scdatastring = Environment.getExternalStorageDirectory().getPath() + "/sctimedata.txt";
File scdatafile = new File(scdatastring);
FileOutputStream scdataout;
OutputStreamWriter scdatawriter;
if (scdatafile.exists())
{
scdatafile.delete();
scdatafile.createNewFile();
scdatafile.setReadable(true);
scdataout = new FileOutputStream(scdatafile);
scdatawriter = new OutputStreamWriter(scdataout);
}
else
{
scdatafile.createNewFile();
scdatafile.setReadable(true);
scdataout = new FileOutputStream(scdatafile);
scdatawriter = new OutputStreamWriter(scdataout);
}
scdatawriter.append(Integer.toString(subID) + "\t");
scdatawriter.close();
scdataout.close();
} catch (Exception e) {
Toast.makeText(getBaseContext(), e.getMessage(), Toast.LENGTH_SHORT).show();
}