疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

通过java流实现读取文件


 

  在项目中,经常会遇到要读取文件,为了避免自己技术遗忘,还是决定写写博客

  01 public void doinput(String filePath ){

  02 OutputStream os=null;

  03 InputStream input=null;

  04 try{

  05 //传入的参数 filePath 就是要读取文件的路径

  06 HttpServletRequest request = ServletActionContext.getRequest();

  07 HttpServletResponse response = ServletActionContext.getResponse();

  08 response.setCharacterEncoding("GBK");

  09 //流能够自动识别文件的类型

  10 //response.setContentType("application/pdf");

  11 os = response.getOutputStream();

  12 input = new FileInputStream(filePath); www.2cto.com

  13 //通过控制一次读取文件的长度 来避免一次性将文件全部读出来造成性能的损耗

  14 byte[] byteData = new byte[1024];

  15 int num;

  16 while((num=input.read(byteData))!=-1){

  17 os.write(byteData, 0, num);

  18 }

  19 }catch(Exception ex){

  20 ex.printStackTrace();

  21 }

  22 finally{

  23 if(input!=null)

  24 {

  25 try {

  26 input.close();

  27 } catch (IOException e) {

  28 e.printStackTrace();

  29 }

  30 }

  31 if(os!=null){

  32 try {

  33 os.close();

  34 } catch (IOException e) {

  35 e.printStackTrace();

  36 }

  37 }

  38 }

  39 }