Где хранится мой файл Excel на Android?

У меня есть этот код, который делает новый файл Excel. Файл пуст, он только создает лист. Код выглядит так

public void onClick(View v) {
    Workbook workbook = new HSSFWorkbook();
    Sheet sheet = workbook.createSheet("Havaji");
    Cell cell = sheet.createRow(0).createCell(0);
    cell.setCellValue("Hi there");
    try{
        FileOutputStream output = new FileOutputStream("Test2.xls");
        workbook.write(output);
        output.close();
    }
    ...

Где этот файл сохранен? Как управлять сохранением файла в том месте на мобильном устройстве, которое я хочу? Как создать каталог, в котором будут храниться все файлы?

2 ответа

Решение

Вот несколько методов, которые вы найдете полезными для ваших целей:

Создает все каталоги по указанному пути:

    public static boolean createPath(String path) {
    File pathFile = new File(path);
    if (!pathFile.exists()) {
        boolean result = pathFile.mkdirs();
        if (!result) {
             Log.e(TAG, "Unable to create directory path: " +
             path);
            return false;
        }
    }
    if (!pathFile.isDirectory()) {
        return false;
    }
    return true;
}

Возвращает корень каталога внешнего хранилища:

public static String extDirectory() {
    File file = Environment.getExternalStorageDirectory();
    return file.getAbsolutePath();
}

Возвращает путь к корню каталога внешнего хранилища приложения:

public static String externalMyAppDataRoot(Context context) {
    return externalAppDataRoot() + File.separatorChar
            + context.getPackageName() + File.separatorChar + "data";
}

Возвращает путь к корню каталога данных приложения Android:

public static String externalAppDataRoot() {
    return extDirectory() + File.separatorChar + "Android/data";
}

Я предполагаю, что хранится в /data/app//files/Test2.xls, хотя я не совсем уверен

Я бы попытался передать абсолютный путь к файлу. Если вы хотите, чтобы файл был в SDCard, я бы использовал Context.getExternalFilesDir, чтобы получить корневой путь SDCard.

Другие вопросы по тегам