Я пытаюсь записать текстовый файл во внутреннее хранилище и подумал, как лучше всего это сделать, текстовый файл будет содержать строки.
У меня есть:
File file = new File(getFilesDir() + subFolderName + "/" + fileName);
BufferedWriter writer;
try {
writer = new BufferedWriter(new FileWriter(file));
writer.write("ID, Date, Address, Body");
writer.write("\n");
for (String s : list) {
writer.write(s);
writer.write("\n");
}
writer.write("\n");
writer.flush();
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
Я просто получаю java.lang.NullPointerException
при создании нового файла: /
Заранее спасибо.
Это код, с которым я закончил, который работал так, как я хотел:
public void WriteFileInternal(ArrayList<String> list, String FileName, Context context) {
BufferedWriter bw;
try {
ContextWrapper cw = new ContextWrapper(context);
File directory = cw.getDir("SMSMonitor", Context.MODE_PRIVATE);
if (!directory.exists()){
directory.createNewFile();
directory.mkdir();
}
File file = new File(directory +"/"+ FileName);
file.createNewFile();
bw = new BufferedWriter(new FileWriter(file));
bw.write("ID, Date, Body, Phone Number");
bw.write("\n");
for (String s1 : list) {
bw.write(s1);
bw.write("\n");
}
bw.write("\n");
bw.flush();
bw.close();
} catch (Exception e) {
e.printStackTrace();
}
}