zoukankan      html  css  js  c++  java
  • 导入导出

    一、加载文件

      1. FileInputStream & InputStream 区别:

        InputStream 不可以读取文件,它是一个 Abstract 的类,不能实例化,是所有输入流的基类;

        FileInputStream 是 InputStream 的一个实现类,用于读取诸如图像数据之类的原始字节流。

      2. FileInputStream & FileReader & BufferedReader 区别:

          

    // FileInputStream



    File file = new File(path); FileInputStream fis= new FileInputStream(file);

    while((i=fis.read()) != -1){ System.out.println(i); }
    // InputStreamReader
    File file = new File(path);
    FileInputStream fis= new FileInputStream(file);
    
    InputStreamReader isr=new InputStreamReader(fis,"utf8");
    while((i=isr.read()) != -1){ System.out.println((char)i); }
    // BufferedReader
    File file = new File(path);
    FileInputStream fis= new FileInputStream(file);
    
    InputStreamReader isr=new InputStreamReader(fis,"utf8");   
    BufferedReader br=new BufferedReader(isr); String line; while((line=br.readLine()) != null){ System.out.println(line); }

    二、下载

      ① 下载到指定目录

    File file = new File(path);  
    FileOutputStream out = new FileOutputStream(file);  
    
    doc.write(out);  
    out.close();  
    

      ② 直接下载

    File file = new File(path);
    response.setHeader("Content-Disposition", "attachment; filename="+new String(output.getBytes("gb2312"), "iso-8859-1"));
    
    OutputStream out= response.getOutputStream();
    doc.write(out);

    三、输出方式(注:下面两种方式是互斥的,不能两种同时使用)

      1. 通过 PrintWriter

    // 定义页面输出流
    PrintWriter out = response.getWriter();
    out.print("hello world!");
    out.flush();// 刷新,把缓存区的东东发出去
    out.close();// 关闭页面输出流
    

      2. 通过 OutputStream

    response.setHeader("Content-Disposition", "attachment; filename="+new String(output.getBytes("gb2312"), "iso-8859-1"));
    OutputStream outputStream = response.getOutputStream();
    outputStream.write("hello world!".getBytes());
    outputStream.flush();
    outputStream.close();

    此篇为学习笔记:

    http://blog.csdn.net/zndxlxm/article/details/7405088

    http://blog.csdn.net/moxie008/article/details/5663488

  • 相关阅读:
    练习选择菜单(optionmenu)、上下文菜单(Contextmenu)、弹出菜单(popupmenu)综合小demo
    Androidstudio中listView视图列表控件的使用小练习
    MintUI的MessageBox的用法
    Hbuilder打包app后相机拍摄失效问题的解决
    Vue自带Eslint规范经常报的错误信息
    Object.defineProperty属性实现双向绑定
    移动端开发注意事项
    浏览器兼容问题
    http请求详解
    web页面性能优化及seo
  • 原文地址:https://www.cnblogs.com/MissRabbit/p/6879012.html
Copyright © 2011-2022 走看看