Извините за неоднозначный заголовок, но я делаю следующее, чтобы написать простую строку в файл:
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 (если такое исключение существует), который затем просто открывает и записывает?
Спасибо за помощь, ребята.
