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);
        }
    }
  • 相关阅读:
    ubuntu 安装mysql和redis 开放远程连接
    linux时间不对,执行ntpdate时间同步始终不对。
    Web漏洞
    生产者消费者模型
    多进程抢票问题
    socket通讯-----UDP
    python3读写csv文件
    # 把csv转xls
    python os模块 用资源管理器显示文件,pyinstall打包命令
    创建一个最简单的pyqt5窗口
  • 原文地址:https://www.cnblogs.com/fwdsz/p/6792394.html
Copyright © 2011-2022 走看看