JavaSE 高级 第12节 字符输入流InputStreamReader

2016-07-24

Reader

1,InputStreamReader   字节流通向字符流的桥梁

FileInputStream fis=null;

InputStreamReader isr=null;

fis=new FileInputStream( "C:\\Users\\admin\\Desktop\\in.txt");

isr=new InputStreamReader(fis,"UTF-8");

package com.java1995;

public class Test {

    public static void main(String[] args) {
        System.out.println(System.getProperty("file.encoding"));

        System.out.println("大家好".getBytes().length);
    }
}

package com.java1995;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;

public abstract class TestInputStreamReader {

    public static void main(String[] args) {
        FileInputStream fis = null;
        InputStreamReader isr = null;

        try {
            fis = new FileInputStream("D:\\workspace\\java_io\\in.txt");
            isr = new InputStreamReader(fis, "UTF-8");

            int c = 0;
            fis.read();// 每次读取一个字节
            c = isr.read();// 每次读取的字节是根据编码集决定的
            while (c != -1) {
                System.out.print((char) c);
                c = isr.read();
            }
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } finally {
            // 关闭流
            // 先关闭fis,然后关闭isr
        }
    }
}

【参考资料】

[1] Java轻松入门经典教程【完整版】

时间: 2024-10-06 12:04:02

JavaSE 高级 第12节 字符输入流InputStreamReader的相关文章

JavaSE 高级 第13节 字符输出流OutputStreamWriter

2016-07-24 Reader InputStreamReader Writer OutputStreamWriter package com.java1995; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; public class TestOutputStreamWri

JavaSE 高级 第07节 文件输入流FileInputStream

2016-07-24 InputStream 1,FileInputStream 因为字节流每次读取一个字节,而一个字节是无法完整的描述一个中文的, 所以会出现英文正常,中文乱码的情况. package com.java1995; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; public class TestFileInputStream { p

转换流:字节输入流转换成字符输入流 InputStreamReader

/* * 将字节输入流变成字符输入流 类 InputStreamReader * 构造方法: * InputStreamReader(InputStream in) 创建一个使用默认字符集的 InputStreamReader. 常用方法: 方法摘要 void close() 关闭该流并释放与之关联的所有资源. String getEncoding() 返回此流使用的字符编码的名称. int read() 读取单个字符. int read(char[] cbuf, int offset, int

JavaSE 高级 第06节 初识I、O流

2016-07-24 input  output 1,流的概念 输入流是读数据. 输出流是写数据. 输入输出的概念针对程序来说. 2,字节流 用于以字节为单位的输入输出,主要是处理字节或者二进制数据的各种输入输出. 一般用于处理图像.声音文件. InputStream 是所有字节输入流的祖先类. OutputStream 是所有字节输出流的祖先类. 3,字符流 以字符为基本处理的单位,主要用于处理字符或者是文本类型.一般用作处理文本 读取存储以及与网络的文本信息的交互. Reader 是所有字符

JavaSE 高级 第09节 字节数组输入流ByteArrayInputStream

2016-07-24 1,ByteArrayInputStream FileInputStream的输入源是文件. ByteArrayInputStream的输入源是字节数组. reset() 重置到mark标记的位置,如果没有调用过mark方法, 则重置到缓冲区(ByteArray)的起始位置 mark(int) package com.java1995; import java.io.ByteArrayInputStream; public class TestByteArrayInputS

JavaSE 高级 第16节 读取缓冲类BufferedReader

2016-07-24 字符流相关类:读取缓冲类 1,BufferedReader package com.java1995; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStreamReader; public class TestBuffere

JavaSE 高级 第14节 读文件类FileReader

2016-07-24 InputStreamReader  : FileInputStream fis=new FileInputStream(file); InputStreamReader isr=new InputStreamReader(fis); FileReader: FileReader fr=new FileReader("C:\\Users\\admin\\Desktop\\in.txt"); 1,FileReader package com.java1995; im

JavaSE 高级 第15节 写文件类FileWriter

2016-07-24 FileReader 1,FileWriter 课下作业: c:\ 定义两个文件 in.txt,out.txt 然后,in.txt里面写入部分中文以及英文. 然后写程序读取in.txt的内容,写到out.txt里面. 规定:读文件的类必须是FileReader 写文件的类必须是FileWriter. package com.java1995; import java.io.FileWriter; import java.io.IOException; public clas

JavaSE 高级 第11节 缓冲输入输出字节流

2016-07-24 FileInputStream ByteArrayInputStream 1,BufferedInputStream 2,BufferedOutputStream package com.java1995; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.FileInputStream; import java.io.FileNotFoundExc