zoukankan      html  css  js  c++  java
  • Java 中request.getInputStream()和BufferedReader 和 InputStreamReader 用法

    关于request.getInputStream():

    http://www.cnblogs.com/steve-cnblogs/articles/5420198.html

    浏览器 采用了一种编码方式,即 "multipart/form-data" 的编码方式,采用这种方式,浏览器可以很容易将表单内的数据和文件放在一起发送.这 种编码方式先定义好一个不可能在数据中出现的字符串作为 分界符,然后用它将各个数据段分开,而对于每个数据段都对应着 HTML 页面表单 中的一个 Input 区,包括一个 content-disposition 属性,说明了这个数据段的一些信息,如果这个数据段的内容是一个文件,还会有 Content-Type 属性,然后就是数据本身. 我们可以用request.getInputStream()或request.getReader()得到 提交的数据.

    BufferedReader 类

    BufferedReader 由Reader类扩展而来,提供通用的缓冲方式文本读取,而且提供了很实用的readLine,读取一个文本行,从字符输入流中读取文本,缓冲各个字符,从而提供字符、数组和行的高效读取。


    一般用法:
        
    BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("ming.txt")));
      String data = null;
      while((data = br.readLine())!=null)
      {
       System.out.println(data); 
      }

    示例如下:

    public static String getHtml(String url) throws IOException {
     
    String source ="";
    String line ="";
    URL _url = new URL(url);
    InputStream inStream = _url.openStream();
    BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inStream,"UTF-8"));
    while((line = bufferedReader.readLine())!=null) {
    source += line;
    }
    return source;
    }

    InputStreamReader 类

    是字节流通向字符流的桥梁,封裝了InputStream在里头, 它以较高级的方式,一次读取一个一个字符以文本格式输入 / 输出,可以指定编码格式;

    一般用法:

    InputStreamReader isr = new InputStreamReader(new FileInputStream("ming.txt"));
       while((ch = isr.read())!=-1)
       {
        System.out.print((char)ch); 
       }

    示例如下:

    public static String getHtmlSource( String  url) throws MalformedURLException, IOException {
     
    URLConnection uc = new URL(url).openConnection();
    uc.setConnectTimeout(10000);
    uc.setDoOutput(true);
    InputStream in = new BufferedInputStream(uc.getInputStream());
    InputStreamReader rd = new InputStreamReader(in,"gb2312");
    int c = 0;
    StringBuffer temp = new StringBuffer();
    while((c = rd.read())!= -1){
           temp.append((char)c);
    }
    in.close();
    return temp.toString();
    }
  • 相关阅读:
    Mac php使用gd库出错 Call to undefined function imagettftext()
    centos 使用 locate
    Mac HomeBrew 安装 mysql
    zsh 命令提示符 PROMPT
    新的开始
    Java 面试题分析
    Java NIO Show All Files
    正确使用 Volatile 变量
    面试题整理 2017
    有10阶梯, 每次走1,2 or 3 阶,有多少种方式???
  • 原文地址:https://www.cnblogs.com/fengli9998/p/7402617.html
Copyright © 2011-2022 走看看