создание файла и всех родительских каталогов

1

есть ли метод, позволяющий в 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();
            }

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

Теги:
file
io

2 ответа

2

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

1

Чтобы это было ясно, вы не можете использовать 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, прочитайте эту замечательную статью.

  • 1
    это правильно. просто чтобы завершить ответ ... графика в порядке! :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню