2017-02-23 153 views
0

得到一個空的OutputStream我有以下代碼:不知道爲什麼我從HttpURLConnection的

try { 
      URL url = new URL(webPage); 
      try { 
       is = new FileInputStream(new File("testfiles/test.html")); 
       byte[] buffer = new byte[is.available()]; 
       int tb = is.read(buffer); 
       System.out.println(tb); 
      } catch (FileNotFoundException e) { 
       e.printStackTrace(); 
      } catch (IOException e) { 
       e.printStackTrace(); 
      } 

      HttpsURLConnection con = (HttpsURLConnection)url.openConnection(); 
      con.setDoOutput(true); 


      con.setRequestProperty(authorizationHeaderName, authorizationHeaderValue); 
      con.setRequestMethod("POST"); 
      con.setRequestProperty("ACCEPT", "application/hal+json"); 
      OutputStream os = con.getOutputStream(); 
      System.out.println(os); 
      System.out.println(is); 
      int bytesCopied = IOUtils.copy(is, os); 

      os.close(); 
      is.close(); 

但是,當我複製我的FileInputStream到的OutputStream它與0字節出現。我檢查了con.getOutputStream()的輸出大小;看起來那裏沒有任何東西。 System.out.println回到空白 - 有沒有辦法在httpsUrlConnection類上獲得輸出流?

+1

'System.out.println(os);'< - 你不能像這樣打印流。 –

+0

我只是想證明物體在那裏,而事實並非如此。當我包裝它像這樣DataOutputStream os = new DataOutputStream(con.getOutputStream()); println給我一個對象。但該副本仍然不起作用。我只是想將我的fileinputstream中的數據複製到我的httpsurlconnection的輸出流中。 –

回答

0

從我所知道的,你需要使用像.read()這樣的方法從你的文件中讀取並且.write()寫入另一個文件路徑。

+0

我想我嘗試漁獲物建立一個本地變量爲我的課。我能夠複製的流一旦我固定的,但我仍然不能夠獲得流回來一次我con.getResponseCode();叫做。完成後,我無法讀取輸出流。 –

+0

我解決我的問題,我是不是傳遞一個正確的內容類型。但這不是我的問題的答案,所以沒有檢查。 –

相關問題