java实现分段读取文件并通过HTTP上传的方法
程序员文章站
2024-03-05 18:53:07
本文实例讲述了java实现分段读取文件并通过http上传的方法。分享给大家供大家参考。具体如下:
1、首先将文件分段,用randomaccessfile
2、分段后将...
本文实例讲述了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程序设计有所帮助。