2012-06-05 3 views
0

Я пытаюсь прочитать текст из файла, который присутствует на сервере, этот файл, содержащий текст «hello world», теперь я хочу написать этот текст в TextView. Я импортировал все необходимые пакеты. спасибо заранееКак читать из .txt-файла

public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     TextView tv = new TextView(this); 

     try { 
      URL updateURL = new URL("http://--------------------/foldername/hello.txt");     
      URLConnection conn = updateURL.openConnection(); 
      InputStream is = conn.getInputStream(); 
      BufferedInputStream bis = new BufferedInputStream(is); 
      ByteArrayBuffer baf = new ByteArrayBuffer(50); 

      int current = 0; 
      while((current = bis.read()) != -1){ 
       baf.append((byte)current); 
      } 


      final String s = new String(baf.toByteArray());  
      ((TextView)tv).setText(s); 





     } catch (Exception e) { 
     } 
    }; 
+0

чем проблема, вы получаете? –

+0

http://stackoverflow.com/q/2902689/601868 – Natali

+0

его просто не показывает то, что написано в текстовом файле, который я представляю на сервере, он не показывает никаких ошибок..баут, я не получаю нужный результат. –

ответ

1

попробовать эту функцию ....

public static String convertStreamToString(InputStream is) throws Exception { 
     BufferedReader reader = new BufferedReader(new InputStreamReader(is)); 
     StringBuilder sb = new StringBuilder(); 
     String line = null; 

     while ((line = reader.readLine()) != null) { 
      sb.append(line); 
     } 

     is.close(); 

     return sb.toString(); 
    } 
+0

вы будете пожалуйста, объясните мне, как заменить эту функцию на мою функцию, потому что я получаю некоторую ошибку при реализации этой функции, у меня проблема, где я должен помещать ссылку на файл, который находится на сервере. благодаря –

0

попробуйте этот код

URL url = new URL(urlpath); 
BufferedInputStream bis = new BufferedInputStream((url.openStream())); 
DataInputStream dis = new DataInputStream(bis); 
String full = ""; 
String line; 
while ((line=dis.readLine())!=null) { 
    full +=line;    
    }  
bis.close(); 
dis.close(); 

((TextView)tv).setText(full); 
Смежные вопросы