Java_log2000_IO1

来源:互联网 发布:灵族捏脸数据 编辑:程序博客网 时间:2024/05/29 23:23

IO篇entry1

关键词: 数据流; 字节流与字符流;

数据流的基本概念

流的分类

流从流动方向上看:一般分为输入流和输出流 。

从读取类型上分:一般分为字节流和字符流。

流从发生的源头可以分为节点流和过滤流类 。

Java的标准输入输出流

标准输入,对象是键盘,Java对应类是System.in。

标准输出,对象是屏幕,Java对应类是System.out。

标准错误输出,对象也是屏幕,Java对应类是System.err。

标准输入输出的转向,见JDK中的System类的静态方法 。

例 从键盘输入字符,并对字符数目进行统计。

程序说明

1)本例用System.in.read(buffer)从键盘输入一串字符(以回车换行符为结束标志),存储在缓冲区buffer中,count保存实际读入的字节个数,再以整数和字符两种方式输出buffer中的值。

2) 程序中,main方法采用throws子句抛出IOException异常交由系统处理。

import java.io.*;public class Input1{    public static void sumChar(byte[] b){  //字母统计    int n=0;    for (int i=0;i<b.length ;i++ )    {    if(b[i]>='a'&&b[i]<='z') n++;    }    System.out.println("char count="+n);    }    public static void main(String args[]) throws IOException    {          System.out.println("Input: ");        byte buffer[] = new byte[512];         //输入缓冲区        int count = System.in.read(buffer);    //读取标准输入流放入buffer,并返回读取数        System.out.println("Output: ");        for (int i=0;i<count;i++)              //输出buffer元素值        {System.out.print(" "+buffer[i]);}        System.out.println();        for (int i=0;i<count;i++)              //按字符方式输出buffer        {System.out.print((char) buffer[i]);}        System.out.println("count = "+ count); //buffer实际长度    sumChar(buffer);    }}

字节流与字符流

字节流

InputStream

OutputStream

常用字节流

文件流 FileInputStream和FileOutputStream

字节数组流ByteArrayInputStream 和ByteArrayOutputStream

管道流 PipedInputStream和PipedOutputStream

对象流 ObjectOutputStream和ObjectInputStream

对象流 ObjectOutputStream和ObjectInputStream

缓冲流BufferedInputStream和BufferedOutputStream

数据流DataInputStream和DataOutputStream

打印流 PrintStream

字符流

Reader和Writer

字节流到字符流的转化

输入字节流转为字符流需要用到inputstreamReader的构造方法

输出字符流转为字节流用到OutputStreamWriter或PrintWriter的构造方法

原创粉丝点击