我已经研究了这个问题一段时间了,我只找到了非常复杂的答案,所以我很困惑。请记住,我不是专业的程序员,所以不要指望我对此有很多了解!
我要做的就是将一行新字符打印到位于 Android 中 SD 卡的下载文件夹中的文本文件中。我将我的模拟器设置为有一张 SD 卡,并将文本文件放在下载文件夹中。这段代码用于一个数据库类,它将访问 SD 卡中的文本文件以读取数据。我知道该类在 Android 之外工作,因此假设所有方法都在正常工作以读取数据!
当我在另一个类中运行此方法时,我得到一个 IOException:
public void addRecordToDataBase(ChildRecord c) throws IOException
{
FileWriter outFile = new FileWriter("/mnt/sdcard/download/database.txt");
PrintWriter out = new PrintWriter(outFile);
out.println(c.printToDataBase());
out.close();
}
奇怪的是,我可以在使用相同路径的其他方法中很好地从数据库中读取;那里没有问题。我就是写不出来。我在某处读到,您可以使用“常规 Java 方法”在 Android 中写入 SD 卡,而无需到处乱找那些疯狂的“OutputStream”。这是真的?我调试了这个东西,发现抛出异常的代码行就在这里:
FileWriter outFile = new FileWriter("/mnt/sdcard/download/database.txt");
如果有人知道为什么我会收到此 IOException,我将不胜感激!我确实尝试了 Android 想要使用的所有疯狂方法,但我想我迷失了,所以我只是回到了我知道该怎么做的事情上。
太感谢了!