java系列18:转化流、打印流

一、转化流

将字节流转化成字符流的流。

例:

package test;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Scanner;

/**
 * 转化流:将字节流转化成字符流的流
 * @author xiangdonglee
 *
 */
public class Test1 {
    public static void main(String[] args) {
        // in是一个字节流,在接收中文时会有问题,因此用Scanner包装了一下
        // Scanner scan = new Scanner(System.in);
    
        /*
         * in是字节流,接收中文时会有问题,
         * 因此,使用InputStreamReader转化流,将字节流转化为字符流。
         * 字符流最高效的用法是缓冲流
         */
        BufferedReader br = 
                new BufferedReader(new InputStreamReader(System.in));
    
        System.out.println("请输入您想说的内容:");
        try {
            String say = br.readLine();
            System.out.println("您想说的是:" + say);
            br.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
java系列18:转化流、打印流_第1张图片
运行结果

二、打印流

例:

package test;

import java.io.File;
import java.io.FileWriter;
import java.io.PrintWriter;

/**
 * 打印流:PrintWriter
 * 它带有一个小的缓冲区,是轻量级的及时刷新缓冲的小流
 * 
 * @author xiangdonglee
 *
 */
public class Test2 {
    public static void main(String[] args) {
        File file = new File("a.txt");
        if(!file.exists()) {
            try {
                file.createNewFile();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
        try {
            // 打印流一定要加上true,否则就没有刷新缓冲功能
            PrintWriter out = new PrintWriter(
                    new FileWriter(file), true);
            String say = "hello java";
            out.write(say);
            out.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
java系列18:转化流、打印流_第2张图片
运行结果

你可能感兴趣的:(java系列18:转化流、打印流)