Java的基础知识5——流

本文介绍了Java中的流分类,包括输入流、输出流、字节流、字符流、节点流和处理流。重点讲解了字节流中的OutputStream和InputStream,字符流中的Writer和Reader,以及DataInputStream和DataOutputStream的功能。此外,还提到了PrintWriter和PrintStream的特性,并给出了例如FileInputStream、FileOutputStream、BufferedReader和BufferedWriter等常见流的示例。
摘要由CSDN通过智能技术生成

1、流的分类:
按数据流的方向不同可以分为输入流和输出流
按处理数据单位不同可以分为字节流和字符流
按功能不同可以分为节点流和处理流

2、

\ 字节流 字符流
输入流 InputStream Reader
输出流 OutputStream Writer

在Java.io包中操作文件内容的主要有两大类:字节流、字符流,两类都分为输入和输出操作。在字节流中输出数据主要是使OutputStream完成,输入使用的是InputStream,在字符流中输出主要是使用Writer类完成,输入流主要使用Reader类完成。这四个都是抽象类。

3、DataInputStream和DataOutputStream分别继承自InputStream和OutputStream,它属于处理流,需要分别“套接”在InputStream和OutputStream类型的结点流上。DataInputStream 和DataOutputStream提供了可以存取与机器无关的Java原始类型数据(如:int,double等)的方法。

4、PrintWriter和PrintStream的输出操作不会抛出异常,用户通过检测错误状态获取错误信息。
PrintWriter和PrintStream有自动flush功能。

下面是一些简单的示例。
FileInputStream、FileOutputStream

import java.io.*;

public class Test{

    public static void main(String args[]){
        FileInputStream in = null;
        FileOutputStream out = null;
        int b;
        try{
            in = new FileInputStream("e:\\java\\Input.java");
            out = new FileOutputStream("e:/java/Output.java");          
        }catch(FileNotFoundException e){
            System.out.println("文件没有找到!");
            System.exit(-1);
        }

        try{
            while((b = in.read()) != -1){
                out.write(b);
            }
            in.close();
            out.close();
        }catch(IOException e){
            System.out.println("文件复制失败!");
            System.exit(-1);
        }
        System.out.println("文件已复制。");
    }
}

FileReader、FileWriter

import java.io.*;

public class Test {

    public static void main(String args[]) {
        FileReader in = null;
        FileWriter out = null;
        int b;
        try {
            in = new FileReader("e:\\java\\Input.java");
            out = new FileWriter("e:/java/Output.java");
            while ((b = in.read()) != -1) {
                out.write(b);
            }
            in.close();
            out.close();
        } catch (FileNotFoundException e) {
            System.out.println("文件没有找到&#x
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值