android - 在哪里写入文本文件以及如何为 SD 卡设置它

标签 android input output android-file

我知道这是一个很受欢迎的问题,但我查看了所有其他回复,但似乎都没有用。我想要做的是将一些代码写入文本文件。我的第一个问题:有没有一种方法可以在不向控制台写入代码的情况下查看该文本文件?其次,我不知道它在我的手机中的什么位置,我想看看它以帮助解决问题,所以如果你也知道如何做到这一点,那就太好了。所以现在我将向您概述正在发生的事情。当我启动我的程序时,它会检查文件是否存在,如果不存在,它会从我的 Assets 文件夹中读取文件并复制该信息并将其发送到 SD 卡中的文件。如果它退出,它会从 SD 卡中读取信息。接下来,如果我按下一个按钮并更改数字并再次将其打印到我的 SD 卡,然后我使用任务管理器将其关闭,然后当我回来时原始信息就在这里。我觉得它无法找到我的 SD 卡位置。到目前为止,我一直在使用。

File outfilepath = Environment.getExternalStorageDirectory();
String FileName = "ExSettings.txt" ;
File outfile = new File(outfilepath.getAbsolutePath()+"/TimeLeft/"+FileName);

File outfilepath = Environment.getExternalStorageDirectory();
String FileName = "ExSettings.txt" ;
File outfile = new File(outfilepath, FileName);

有什么想法吗?

最佳答案

这是我编写的一个函数,它将接收一个列表数组并逐行写入文件。

它将使用文件名中的路径在 SDCard 的根目录中创建一个名为 myfolder 的新文件夹,其中将是您的 newtextfile.txt 文件。

List<String> File_Contents = new ArrayList<String>();

File_Contents.add("This is line one");
File_Contents.add("This is line two");

File f = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/myfolder/newtextfile.txt");
f.mkDirs();

try {
    BufferedWriter out = new BufferedWriter(new FileWriter(f));
    for (int x = 0; x < File_Contents.size(); x++) {
        out.write(File_Contents.get(x));
        out.write(System.getProperty("line.separator"));
    }
    out.close();
    return true;
} catch (Exception e) {
    return false;
}

关于android - 在哪里写入文本文件以及如何为 SD 卡设置它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13960805/

相关文章:

c++ - 用于 C++ 的 Linux 中的低级磁盘操作

java - 小数点后 8 位 double 的微小添加 : Android

c - 如何处理非常大的整数?

javascript - 如何获取onChange事件的值?

c - 将 C 中 fork() 的结果记录到文件中以查看结果

c++ - 为什么这个程序会创建这样的输出?

android - 将短信插入收件箱 : android

java - 无法使用 FileProvider 和外部 PDF 编辑器保存 PDF 文件

java - HttpURLConnection 和获取 ASPX 页面

java - 在java中发送输入就像按下按钮一样