日志文章

2019-12-24 aflfte2011

转换流使用方法

package com.aflfte.io;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.URL;

/**
 * 转换流使用方法    
 * InputStreamReader  OutputStreamWrite
 * 1、以字符流的形式操作字节流(纯文本的)
 * 2、指定字符集
 *
 * @author root
 *
 */
public class ConvertTest02 {
    public static void main(String[] args) {//版本四
        //操作网络流  下载百度的源代码
        try(BufferedReader is=
                new BufferedReader(
                        new InputStreamReader(
                                new URL("http://www.baidu.com").openStream(),"UTF-8"));
                BufferedWriter ou=
                        new BufferedWriter(
                                new OutputStreamWriter(
                                        new FileOutputStream("baidu.html"),"UTF-8"));){
            //操作(读取)
            String temp;
            while((temp=is.readLine())!=null) {
                ou.append(temp);
                ou.newLine();
            }
            ou.flush();
            
        
        } catch (IOException e) {
            // TODO 自动生成的 catch 块
            e.printStackTrace();
        }
        
        
    }
    public static void test02() {//版本三
        //操作网络流  下载百度的源代码
                try(InputStreamReader is=new InputStreamReader(new URL("http://www.baidu.com").openStream(),"UTF-8");){
                    //操作(读取)
                    int temp;
                    while((temp=is.read())!=-1) {
                        System.out.print((char)temp);
                    }
                    
                } catch (IOException e) {
                    // TODO 自动生成的 catch 块
                    e.printStackTrace();
                }
    }
    public static void test01() {//版本二
        //操作网络流  下载百度的源代码
                try(InputStream is=new URL("http://www.baidu.com").openStream();){
                    //操作(读取)
                    int temp;
                    while((temp=is.read())!=-1) {
                        System.out.print((char)temp);
                    }
                    
                
                } catch (IOException e) {
                    // TODO 自动生成的 catch 块
                    e.printStackTrace();
                }
    }
    public static void test() {//版本一
        //操作System.in和system.out
        try(BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
                BufferedWriter writer=new BufferedWriter(new OutputStreamWriter(System.out));){
            //循环获取键盘的输入(遇到exit退出),并输出此内容.
            String msg="";
            while(!msg.equals("exit")) {
                msg=reader.readLine();//循环读取
                writer.append(msg);//循环写出
                writer.newLine();
                writer.flush();//强制刷新
            }
        } catch (IOException e) {
            // TODO 自动生成的 catch 块
            e.printStackTrace();
        }
    }
}

« 数据流的使用 | 弹球游戏练习»