
いつもお世話になります。
下図のように3行追加するとBufferedReader readerに読み込むことができなくなくなります。
disconnect()にしてもうまくいかないです。
何が問題あるのでしょう?
java
1//①クライント側 アンドロイドアプリ 2@Override 3 protected Result doInBackground(Void... voids) { 4 5 Result result = new Result(); 6 7 8 9 byte[] data; 10 result.bitmap = null; 11 result.text=null; 12 13 InputStream inputStream = null; 14 15 StringBuilder builder = new StringBuilder(); 16 try { 17 URL url = new URL("http://192.168.3.5:8080/book123/chapter14/search"); 18 HttpURLConnection con = (HttpURLConnection)url.openConnection(); 19 20 //↓↓↓↓↓↓↓↓↓ここ3行追加すると BufferedReader readerに読み込めない 21 con.connect(); 22 inputStream = con.getInputStream(); 23 result.bitmap = BitmapFactory.decodeStream(inputStream); 24 //↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ 25 26 //↓↓↓↓↓↓読み込めれない 27 BufferedReader reader = new BufferedReader(new InputStreamReader(con.getInputStream(), "UTF-8")); 28 String line; 29 while ((line = reader.readLine()) != null){ 30 builder.append(line); 31 } 32 33 result.text = builder.toString(); 34 35 }catch (IOException exception){ 36 37 } 38 return result; 39 } 40 41 @Override 42 protected void onPostExecute(Result result) { 43 44 imageview.setImageBitmap(result.bitmap); 45 textView.setText(result.text); 46 47 } 48 49}
java
1//②サーバー側 2public class Hello extends HttpServlet{ 3 4 @Override 5 public void doGet( 6 HttpServletRequest request, 7 HttpServletResponse response 8 ) throws ServletException, IOException { 9 10 try { 11 response.setContentType("application/octet-stream ;charset=UTF-8"); 12 response.setHeader("Content-Disposition" ,"attachment"); 13 14 OutputStream out = response.getOutputStream();//画像側のストリーム<===エラー:getOutputStream()はこのレスポンスに対して既に呼び出されています 15 16 //////テキスト////////start///////////////////////////////// 17 PrintWriter out2=response.getWriter();//テキスト側のストリーム 18 out2.println("こんにちは777777"); 19 //////テキスト////////end///////////////////////////////// 20 21 22 //////画像側////////start///////////////////////////////// 23 FileInputStream input =new FileInputStream("/Applications/Eclipse_4.7.2.app/Contents/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/book777/WEB-INF/classes/chapter3/1.jpg"); 24 25 int i = input.read(); 26 while(i !=-1) { 27 char c = (char)i; 28 out.write(c); //ここでバイナリーデータを流している 29 i = input.read(); 30 } 31 input.close(); 32 out.close(); 33 34 //////画像側////////end///////////////////////////////// 35 36 }catch(Exception e) { 37 System.out.println("意味不明のエラーです"); 38 System.out.println(e); 39 }catch (Throwable e) { 40 System.out.println("byte[] data = IOUtils.toByteArray(input);でエラーです"); 41 } 42 43 //out.close(); 44 } 45 46}







回答1件
あなたの回答
tips
プレビュー