2011-08-26 72 views
0

我正在从SD卡上读取文本文件并将其内容写入其他文本文件的应用程序。从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; 

上面的代码工作正常,但很少倍(1 outof 20),它需要很长时间做上述操作。

我怀疑这是因为从SD卡反应迟钝。

请通常给我建议,当有机会放缓,从SD卡响应。 或请让我知道如果我需要在我的代码中做任何更改。

谢谢。

回答

0

它更好地使用SQLITE DB。数据库读/写总是比文件I/O更快。