2016-12-06 47 views
0

我嘗試將頁面的源文件保存爲字符串。 我的代碼:在Android中下載源文件url

public static String saveSource(String link) throws IOException { 
    String source = ""; 
    URL akt = new URL(link); 
    BufferedReader in = new BufferedReader(new InputStreamReader(akt.openStream(), "utf-8")); 
    String linia; 
    while ((linia = in.readLine()) != null) { 
     source += linia + "\n"; 
    } 
    in.close(); 
    return source; 
} 

Debbuger告訴我,問題就在這裏:

BufferedReader in = new BufferedReader(new InputStreamReader(akt.openStream(), "utf-8")); 

更確切地說:

akt.openStream() 

我加入AndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET" />

編輯:

我檢查JAVA(的IntelliJ)這段代碼有什麼都好...

+0

調試器解釋什麼類型的問題? – Bojje

回答

0

我解決了我的問題。我必須使用新的Thread。其他應用程序崩潰。

0

試試這個:

URL url = new URL(link);  
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); 
InputStream inputStream = urlConnection.getInputStream(); 
BufferedReader in = new BufferedReader(inputStream); 

從那裏繼續與您的代碼。您可能還需要添加一些異常處理。

+0

hm,'BufferedReader'需要'java.io.Reader'。 'inputStream'是'java.io.InputStream' – Dann

+0

我想你可以稍微調整一下。我沒有試圖編譯它,但我認爲你可以從這一點繼續。 –

+0

好吧,我改變了這一點,但之後,我注意到我的應用程序在這一行崩潰 'InputStream inputStream = urlConnection.getInputStream();' – Dann