zoukankan      html  css  js  c++  java
  • IO-转换流

    java.net.URL类:类 URL 代表一个统一资源定位符,它是指向互联网“资源”的指针
    构造方法:
      URL(String spec)根据 String 表示形式创建 URL 对象。
    方法:
      openStream():打开到此 URL 的连接并返回一个用于从该连接读入的 InputStream。
    需求:使用的流获取www.baidu.com的主页源码,并将源码在控制台输出

    public class TestInputStreamReader {
        public static void main(String[] args) {
            try {
                URL url = new URL("http://www.baidu.com");
                InputStream ips = url.openStream();//开到此 URL 的连接并返回一个用于从该连接读入的 InputStream
                InputStreamReader isr = new InputStreamReader(ips,"UTF-8"); //将字节流按照指编码转换成一个字符流
                BufferedReader br = new BufferedReader(isr);
                String str;
                while((str=br.readLine())!=null){
                    System.out.println(str);
                }
                br.close();
                isr.close();
                ips.close();
            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            
        }
    }

    InputStream:字节输入流
    Reader:字符输入流
    转换流(处理流)
      InputStreamReader:将InputStream转换为Reader(将字节流转换为字符流),继承了Reader类
      构造函数:
        InputStreamReader(InputStream in) 创建一个使用默认字符集的 InputStreamReader。
        InputStreamReader(InputStream in, Charset cs) 创建使用给定字符集的 InputStreamReader。
      字符集:
        UTF-8,GBK,GB2312....
      常用的方法:
        read() 读取单个字符。
        read(char[] cbuf, int offset, int length) 将字符读入数组中的某一部分。
        close():关闭该流并释放与之关联的所有资源。
    BufferedReader:
      readLine();
    InputStream--->InputStreamReader--->BufferedReader
    OutputStreamWriter:OutputStream---->Writer

    public class TestInputStreamReader2 {
        public static void main(String[] args) {
            try {
                InputStream ips = new FileInputStream("D:/aa.txt");//字节输入流
    //            InputStreamReader isr = new InputStreamReader(ips);//将字节流转换为字符流
                InputStreamReader isr = new InputStreamReader(ips,"GBK");//将字节流转换为字符流
                BufferedReader br =  new BufferedReader(isr);
                String s;
                while((s=br.readLine())!=null){
                    System.out.println(s);
                }
                br.close();
                isr.close();
                ips.close();
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

    获取当前开发环境下的编码集

    public class TestEncoding {
        public static void main(String[] args) {
            //获取当前开发环境下的编码集
            String str = System.getProperty("file.encoding");
            System.out.println(str);
        }
    }
  • 相关阅读:
    Step by step Dynamics CRM 2013安装
    SQL Server 2012 Managed Service Account
    Step by step SQL Server 2012的安装
    Step by step 活动目录中添加一个子域
    Step by step 如何创建一个新森林
    向活动目录中添加一个子域
    活动目录的信任关系
    RAID 概述
    DNS 正向查找与反向查找
    Microsoft Dynamics CRM 2013 and 2011 Update Rollups and Service Packs
  • 原文地址:https://www.cnblogs.com/fwdsz/p/6792394.html
Copyright © 2011-2022 走看看