在我的应用程序中,当它加载时,它会进行Web调用以检索JSON字符串。我想将此JSON字符串存储到手机中,以便在用户失去连接时应用程序不会崩溃。需要JSON字符串来设置应用程序的文本。所以我这样做
File myDir = new File(getFilesDir().getAbsolutePath());
FileWriter fw = new FileWriter(myDir + "/jsonMain.txt");
fw.write(sJsonMain);
fw.close();
然后检索它我正在做这个
BufferedReader br = new BufferedReader(new FileReader(
myDir + "/jsonMain.txt"));
sStoredJSON = br.readLine();
它可以与其他JSON字符串一起使用,但它不适用于大JSON字符串。我检查了日志,它说了这个
04-26 10:00:44.511:I / global(893):BufferedReader构造函数中使用的默认缓冲区大小。如果需要8k-char缓冲区,最好是明确的。
有人可以告诉我,我怎么能读到像这样的大字符串?
提前致谢!!
答案 0 :(得分:0)
试试这个:
BufferedReader br = new BufferedReader(new FileReader(
myDir + "/jsonMain.txt"), 8); // or a higher value than 8
sStoredJSON = br.readLine();
答案 1 :(得分:0)
您可以在BufferedReader constructor上添加缓冲区大小,这样您就可以使用以前的File对象来确定文件lenght并相应地创建缓冲区大小。