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();
    }
  • 相关阅读:
    zigbee设备在Zstack中的体现
    第十一章 多态性练习
    IAR 下载 Fatal error: Failed to identify device. Check connections and/or reset hardware
    第十章 继承与派生练习题
    第九章 类和对象练习题(下)
    代码实现判断主机字节序(大端 or小端 )-- 面试题
    winrar解压时出现诊断信息怎么办?
    在线编译网站(持续更新)
    离线环境升级python及安装模块
    Zabbix监控DB,Tomcat
  • 原文地址:https://www.cnblogs.com/fengli9998/p/7402617.html
Copyright © 2011-2022 走看看