У меня есть тест junit, и я хочу записать данные в текстовый файл и сохранить их на компьютере, но моя реализация не работает должным образом.
Сначала у меня есть класс, содержащий необходимые методы для записи файла.
public class Writer {
private File logFile;
public Writer() {
String timeLog = new SimpleDateFormat("yyyyMMdd_HHmmss").format(Calendar.getInstance().getTime());
this.logFile = new File("TestCase " + timeLog);
}
public File getLogFile() {
return logFile;
}
public void write(String text) {
BufferedWriter writer = null;
try {
writer = new BufferedWriter(new FileWriter(getLogFile(), true));
writer.append(text);
writer.newLine();
} catch (IOException e) {
Log.d("TFG", "Se ha producido una excepción al escribir en el fichero");
e.printStackTrace();
} finally {
try {
if(writer!= null){
writer.close();
}
} catch (IOException e) {
Log.d("TFG", "Se ha producido una excepción al cerrar el fichero");
e.printStackTrace();
}
}
}
public String getPath() {
String path = "";
try {
path = logFile.getAbsolutePath();
} catch (Exception e) {
e.printStackTrace();
}
return path;
}
}
Я использую его для упрощения записи данных, когда пишу тест.Простой тест junit выглядит так:
public void testWriteFile() {
Writer writer = new Writer();
Log.d("TFG",writer.getPath());
writer.write("Hello");
}
И это вывод logcat:
2019-02-06 21:27:27.868 26697-26714/appPackage.testing D/TFG: /TestCase 20190206_212727
2019-02-06 21:27:27.869 26697-26714/appPackage.testing D/TFG: Se ha producido una excepción al escribir en el fichero