1

我知道这是一个受欢迎的问题,但我查看了所有其他回复,但似乎没有一个有效。我想要做的是将一些代码写入文本文件。我的第一个问题:有没有办法在不向控制台写入代码的情况下查看该文本文件?其次,我不知道它在我的手机中的哪个位置,我想看到它以帮助解决问题,所以如果你也知道如何做到这一点,那就太好了。因此,现在我将为您概述正在发生的事情。当我启动我的程序时,它会检查文件是否存在,如果不存在,它会从我的资产文件夹中读取一个文件并将该信息复制并将其发送到一个文件到 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);

有任何想法吗?

4

1 回答 1

2

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

它将使用 fileName 中的路径在myfolderSDCard 的根目录中创建一个名为的新文件夹,里面将是您的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;
}
于 2012-12-19T21:00:51.847 回答