2011-08-26 100 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更快。