0

我有这段代码可以制作新的 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();
    }
    ...

该文件保存在哪里?如何设法将文件保存在我想要的移动设备上的位置?如何创建一个存放所有文件的目录?

4

2 回答 2

1

以下是一些您会发现对您的目的有用的方法:

沿提供的路径创建所有目录:

    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";
}
于 2012-11-19T01:26:53.737 回答
0

我猜它被存储在 /data/app//files/Test2.xls 中,虽然我不完全确定

我会尝试传入一个绝对文件路径。如果您希望文件在 sdcard 中,我会使用Context.getExternalFilesDir 来获取 sdcard 的根路径。

于 2012-11-19T01:10:25.090 回答