Извините за неоднозначный заголовок, но я делаю следующее, чтобы написать простую строку в файл:
try {
File root = Environment.getExternalStorageDirectory();
if (root.canWrite()){
System.out.println("Can write.");
File def_file = new File(root, "default.txt");
FileWriter fw = new FileWriter(def_file);
BufferedWriter out = new BufferedWriter(fw);
String defbuf = "default";
out.write(defbuf);
out.flush();
out.close();
}
else
System.out.println("Can't write.");
}catch (IOException e) {
e.printStackTrace();
}
Но root.canWrite()
, кажется, возвращает false каждый раз. Я не запускаю это с эмулятора, у меня есть андроид Эрис, подключенный к компьютеру через USB и запуск приложения с моего телефона через Eclipse. Есть ли способ предоставить мое приложение, чтобы этого не произошло?
Кроме того, этот код, по-видимому, создает файл default.txt
, но что, если он уже существует, будет ли он игнорировать создание и просто открыть его для записи или мне нужно поймать что-то вроде FileAlreadyExists
(если такое исключение существует), который затем просто открывает и записывает?
Спасибо за помощь, ребята.