所以我試圖從存儲在網絡服務器上的文件中下載和加載一個對象。我使用的代碼是一個try-catch塊內在的AsyncTask:Android:下載對象
URL url = new URL("http://www.mydomain.com/thefileIwant");
URLConnection urlConn = url.openConnection();
ObjectInputStream ois = new ObjectInputStream(urlConn.getInputStream());
foo = (Foo) ois.readObject();
ois.close();
我建立與該代碼的文件:
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("thefileIwant"));
oos.writeObject(foo);
oos.close();
當我嘗試和在第一片的代碼讀取的對象我得到一個IOExecption,UTF數據格式與UTF-8不匹配。我曾嘗試重新構建該文件幾次,它總是給我同樣的錯誤。我可以像這樣下載一個對象嗎?
什麼是服務器端的代碼?你如何生成'thefileIwant'? – kichik
它只是通過http託管並完全公開訪問。我剛添加了我使用make的文件的代碼 – Flynn
聽起來像你的服務器發送了錯誤的內容類型。確保它是'application/octet-stream'。 – kichik