Извините за неоднозначный заголовок, но я делаю следующее, чтобы записать простую строку в файл:
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()
, кажется, каждый раз возвращает ложь. Я не запускаю это на эмуляторе, мой Android Eris подключен к моему компьютеру через USB и запускает приложение с моего телефона через Eclipse. Есть ли способ дать разрешение моему приложению, чтобы этого не произошло?
Кроме того, этот код, по-видимому, создает файл default.txt
, но что, если он уже существует, он проигнорирует создание и просто откроет его для записи или я должен поймать что-то вроде FileAlreadyExists
(если такое исключение существует) который потом просто открывает и пишет?
Спасибо за любую помощь, ребята.