我正在处理应用程序,它将从SD卡读取文本文件并将其内容写入其他文本文件。
实施如下:
File result = new File("/mnt/sdcard/result.txt");
result .createNewFile();
FileWriter resultFileWriter = new FileWriter(result , true);
File f = new File("/mnt/sdcard/abc.txt");
BufferedReader mainBufferedReader =
new BufferedReader(new FileReader(f));
while((line = mainBufferedReader.readLine() ) != null)
{
lineNo ++
if(lineNo > 50 )
{
resultFileWriter .append(line);
resultFileWriter .append("\n");
resultFileWriter .flush();
}
}
resultFileWriter .close();
resultFileWriter = null;
mainBufferedReader .close();
mainBufferedReader = null;
上面的代码工作正常,但很少次(20次中有1次)需要花费很多时间进行上述操作。
我怀疑这是因为SD卡响应缓慢。
一般情况下,如果有机会减慢SD卡的响应,请通知我。 或者如果我的代码中需要做任何更改,请告诉我。
感谢。
答案 0 :(得分:0)
据我记得,此视频是关于此类延迟的: http://developer.android.com/videos/index.html#v=c4znvD-7VDA
但我们的想法是异步执行I / O操作,因此这些延迟将无法减慢您的用户界面。
答案 1 :(得分:0)
最好使用SQLITE DB。 DB读/写总是比文件I / O快。