导入导出

一、加载文件

  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

原文地址:https://www.cnblogs.com/MissRabbit/p/6879012.html