Android应用程序:保存可通过资源管理器访问的txt文件

时间:2015-07-08 13:21:00

标签: android saving-data

我试图在我的应用程序运行期间创建一个txt文件,然后我想将其下载到我的计算机上并评估内容。

我已经尝试了内部和外部存储,但在我的平板电脑插入计算机后,我仍然无法找到文本文件。

private void writeToFile(String data) {
    try {
        OutputStreamWriter outputStreamWriter = new OutputStreamWriter(openFileOutput("orp.txt",Context.MODE_WORLD_WRITEABLE));
        outputStreamWriter.write(data);
        outputStreamWriter.close();

        File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS),"orp2.txt");
        String tempS = file.getAbsolutePath();
        file.setReadable( true, false ); 

        // if file doesnt exists, then create it
        if (!file.exists()) {
            file.createNewFile();
        }

        FileWriter fw = new FileWriter(file.getAbsoluteFile());
        BufferedWriter bw = new BufferedWriter(fw);
        bw.write(data);
        bw.close();
    }
    catch (IOException e) {
        Log.e("Exception", "File write failed: " + e.toString());
    } 
}

我发现能够找到(" orp.txt"或" orp2.txt"),但在应用程序运行期间我也没有收到任何错误,并且应用程序可以打开" orp.txt"在以后的时间,所以我知道已经创造了。

2 个答案:

答案 0 :(得分:1)

除非使用Eclipse文件资源管理器,否则我无法找到创建的文件,或者可能通过重新启动设备来完成必须触发的媒体扫描。扫描设备上可用的文件。

它可能是目录,这是我在代码中所做的。

            File f = new File(cxt.getExternalFilesDir(filepath), fileName);
            f.createNewFile();
            FileWriter writer = new FileWriter(f); 
            writer.append(manNo+System.getProperty("line.separator"));
            writer.append(dateTime);
            writer.flush();
            writer.close();

答案 1 :(得分:0)

感谢您的输入,但我发现答案与媒体扫描仪有关," orp2.txt"我重新启动设备后出现在我的下载文件夹中。

这个答案和博客文章帮助

Android: save file to downloads that can be viewed later