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);
        }
    }
  • 相关阅读:
    关于Mac网络偏好设置的一些坑
    NOI2018网络同步赛爆零记
    【搞事情】英文文档单词对比&自动翻译
    函数
    文件处理的详细介绍
    字符编码+文件处理
    元组类型+字典类型+集合类型的详细讲解
    可变不可变类型+数字类型、字符串类型、列表类型的内置方法
    流程控制之if判断,while循环,for循环
    变量剩余补充+基本数据类型+输入输出+基本运算符
  • 原文地址:https://www.cnblogs.com/fwdsz/p/6792394.html
Copyright © 2011-2022 走看看