java完成分段讀取文件並經由過程HTTP上傳的辦法。本站提示廣大學習愛好者:(java完成分段讀取文件並經由過程HTTP上傳的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是java完成分段讀取文件並經由過程HTTP上傳的辦法正文
本文實例講述了java完成分段讀取文件並經由過程HTTP上傳的辦法。分享給年夜家供年夜家參考。詳細以下:
1、起首將文件分段,用RandomAccessFile
2、分段後將分出的內容上傳到http
URL url = new URL(actionUrl); HttpURLConnection con = (HttpURLConnection) url.openConnection(); /** 許可Input、Output,不應用Cache */ con.setDoInput(true); con.setDoOutput(true); con.setUseCaches(false); /** 設定傳送的method=POST */ con.setRequestMethod("POST"); /** setRequestProperty */ con.setRequestProperty("Connection", "Keep-Alive"); con.setRequestProperty("Charset", "UTF-8"); con.setRequestProperty("Content-Type", "multipart/form-data;boundary=" + boundary); /** 設定DataOutputStream */ DataOutputStream ds = new DataOutputStream(con.getOutputStream()); ds.writeBytes(twoHyphens + boundary + end); ds.writeBytes("Content-Disposition: form-data; " + "name=\"file1\";filename=\"" + newName + "\"" + end); ds.writeBytes(end); /** 獲得文件的FileInputStream */ FileInputStream fStream = new FileInputStream(uploadFile); /** 設定每次寫入1024bytes */ int bufferSize = 1024; byte[] buffer = new byte[bufferSize]; int length = -1; /** 從文件讀取數據到緩沖區 */ while ((length = fStream.read(buffer)) != -1) { /** 將數據寫入DataOutputStream中 */ ds.write(buffer, 0, length); } ds.writeBytes(end); ds.writeBytes(twoHyphens + boundary + twoHyphens + end); /** close streams */ fStream.close(); ds.flush();
願望本文所述對年夜家的java法式設計有所贊助。