создание файла и всех родительских каталогов - PullRequest
1 голос
/ 21 января 2012

существует ли метод, который позволяет в Android 2.1 создавать новый файл и, если относительные каталоги не существуют, создавать их тоже?сообщите мне, потому что этот фрагмент не работает:

    static String separator = File.separator;
public static final String DIRECTORYBIGLIETTI = "C:" + separator + "Users" + separator + "7-Spode" + separator + "Documents" + separator + "Android" + separator + "HUVWSZE"; ///sdcard/.SpodeApps/HUVWSZE/
public static final String FILEBIGLIETTI = DIRECTORYBIGLIETTI.concat(separator + "lista.txt");

File cartellainputoutput = new File(DIRECTORYBIGLIETTI);
        if(!cartellainputoutput.exists())
        {
            cartellainputoutput.mkdirs();
        }
        File fileinputoutput = new File(FILEBIGLIETTI);
        if(!fileinputoutput.exists())
            try {
                fileinputoutput.createNewFile();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

Могу ли я попросить администратора обновить графические элементы этого веб-сайта?;)

Ответы [ 2 ]

2 голосов
/ 21 января 2012

Вам необходимо использовать mkdirs() для создания каталогов, а затем создать файл.

1 голос
/ 21 января 2012

Просто чтобы прояснить это, вы не можете использовать Windows-подобные пути к файлам (например, C:\Users\7-Spode\Documents\Android\HUVWSZE) в Android, вы должны использовать Linux-подобные пути к файлам (например, /data/my.android.application/data_directory/file или /sdcard/directory/file.

Кроме того, вы должны использовать такие методы, как getFilesDir() (для внутреннего хранения) и getExternalStorageDirectory() (для внешнего хранения, например, SD-карты), чтобы получить эти каталоги, и оттуда вы можете просто создать обычный File объект и обработать его оттуда.

Пример (с внутренним хранилищем):

File dir = getFilesDir(); // Returns a directory exclusively for this app.
File file = new File(dir, "directory/file");
file.mkdirs();
file.createNewFile();

Также обратите внимание, что при работе с внешним хранилищем вы всегда должны проверять, доступно ли внешнее хранилище (например, была ли извлечена SD-карта или подключено устройство). на компьютер), используя getExternalStorageState().

Для получения дополнительной информации о том, как использовать внутреннее и внешнее хранилище в Android, прочитайте эту изящную статью .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...