Java后台从第三方接口读取文件流存为本地文件
Java后台从第三方接口读取文件流存为本地文件
简述:
业务需求,从第三方提供的接口获取文件流,保存为本地文件。
第三方接口部分代码如下:
response.reset(); response.setContentType("application/octet-stream;charset=UTF-8"); outputStream = new BufferedOutputStream(response.getOutputStream()); outputStream.write(buffer); outputStream.flush();
处理方法:
HttpURLConnection urlConnection = null; FileOutputStream fileOutputStream = null; InputStream inputStream = null; try{ URL url = new URL(requestUrl); urlConnection = (HttpURLConnection)url.openConnection(); urlConnection.setRequestMethod("POST"); urlConnection.setConnectTimeout(TIMEOUT); urlConnection.setDoOutput(true); urlConnection.setDoInput(true); urlConnection.setUseCaches(false); urlConnection.setRequestProperty("Content-Type", "application/json; charset="+CHARSET); urlConnection.connect(); File file = new File(filePath); if(!file.getParentFile().exists()){ file.getParentFile().mkdirs(); } if(!file.exists()){ file.createNewFile(); } inputStream = urlConnection.getInputStream(); BufferedInputStream bufferedInputStream = new BufferedInputStream(inputStream); fileOutputStream = new FileOutputStream(filePath); BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(fileOutputStream); byte[] buf = new byte[4096]; int length = bufferedInputStream.read(buf); while (-1 != length){ bufferedOutputStream.write(buf,0,length); length = bufferedInputStream.read(buf); } bufferedInputStream.close(); bufferedOutputStream.close(); }catch (Exception e){ System.out.println("getFile error: " + e); }finally { if(null != urlConnection){ urlConnection.disconnect(); } }
结语:
提供的是基础方法,用于参考,具体细节根据自己的业务处理并优化即可。
下一篇:
tcpdump命令以及简单使用