2013-08-29 2 views
1

Я знаю, это звучит странно, но я буду объяснитьBufferedReader читает онлайн-текстовый файл без кэширования текста в файле?

Я успешно сделал BufferedReader, который будет читать текст из интернет-текстовый файл, как только приложение открыто, но проблема в том, что первый раз я открыть мое приложение (эмулятор) он записывает текст Hello Good World .Посля закрытия приложения (не приостанавливает работу) и изменение текста на сервере, чтобы, скажем, Hello Good World 2 .I открыть приложение (эмулятор) и Журналам Hello Good World. Я пытаюсь перезагрузить приложение несколько раз, но он все равно записывает то же самое.

Доказательство того, что онлайн текст кэшируются

Когда я открыл URL из Google Chrome я увидел текст Hello Good World я обновил страницу и показал Hello Good World 2 .Теперь, когда я начал мое приложение (от эмулятора) он отобразился Hello Good World 2.

Мой код:

public class checkRemoteFile extends AsyncTask<Void, Integer, String>{ 



@Override 
protected String doInBackground(Void... params) { 
    Log.i("Async","Started"); 

    String a = "http://www.standarized.com/ads/Test.txt" ; 

    StringBuffer result = new StringBuffer(); 
    try{ 
     URL url = new URL(a); 

     InputStreamReader isr = new InputStreamReader(url.openStream()); 

     BufferedReader in = new BufferedReader(isr); 

     String inputLine; 

     while ((inputLine = in.readLine()) != null){ 
      result.append(inputLine); 

     } 
     txtFile = result.toString(); 
     Log.i("Buffer", txtFile); 
     in.close(); 
     isr.close(); 
    }catch(Exception ex){ 
     // result = new StringBuffer("TIMEOUT"); 
     Log.i("Buffer", ex.toString()); 

    } 
    Log.i("GetStringBuffer(result)", result.toString()); 


    return null; 
} 


      } 
+0

Возможно, имеется связанный с кешированием прокси? – flx

ответ

1

Если вы используете URLConnection вы можете использовать useCaches.
Взгляните на эту ссылку. Образец:

URL url = new URL("http://www.standarized.com/ads/Test.txt"); 
     URLConnection urlConnection = url.openConnection(); 
     urlConnection.setUseCaches(false); 
     try { 
      // Read all the text returned by the server 
    BufferedReader in = new BufferedReader(new InputStreamReader(
      urlConnection.getInputStream())); 
    String str; 
    while ((str = in.readLine()) != null) { 
     // str is one line of text; readLine() strips the newline 
     // character(s) 
     inputLine = inputLine + str; 
    } 

     finally { 
     in.close(); 
     } 
Смежные вопросы