14天Java基础学习——第12天:输入输出流与文件操作

Java基础学习第12天:输入输出流与文件操作

IO流概述与分类

Java中的IO流是用来进行输入和输出操作的一系列类的总称。它们允许程序与外部世界(如文件、网络、控制台等)进行数据交换。IO流可以分为以下几类:

按操作类型分类
类型描述
输入流从数据源读取数据,如文件、网络等。
输出流将数据写入目的地,如文件、网络等。
按操作数据类型分类
类型描述
字节流以字节为单位进行数据的输入输出,如FileInputStreamFileOutputStream
字符流以字符为单位进行数据的输入输出,如FileReaderFileWriter
对象流可以对Java对象进行直接的输入输出,如ObjectInputStreamObjectOutputStream

字节流

FileInputStream

FileInputStream是用于从文件中读取字节数据的类。

import java.io.FileInputStream;
import java.io.IOException;

public class FileInputStreamExample {
    public static void main(String[] args) {
        FileInputStream fis = null;
        try {
            fis = new FileInputStream("example.txt");
            int content;
            while ((content = fis.read()) != -1) {
                System.out.print((char) content);
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (fis != null) {
                try {
                    fis.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}
FileOutputStream

FileOutputStream是用于向文件写入字节数据的类。

import java.io.FileOutputStream;
import java.io.IOException;

public class FileOutputStreamExample {
    public static void main(String[] args) {
        FileOutputStream fos = null;
        try {
            fos = new FileOutputStream("example.txt");
            String data = "Hello, World!";
            fos.write(data.getBytes());
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (fos != null) {
                try {
                    fos.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

字符流

FileReader

FileReader是用于从文件中读取字符数据的类。

import java.io.FileReader;
import java.io.IOException;

public class FileReaderExample {
    public static void main(String[] args) {
        FileReader fr = null;
        try {
            fr = new FileReader("example.txt");
        int content;
        while ((content = fr.read()) != -1) {
            System.out.print((char) content);
        }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (fr != null) {
                try {
                    fr.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}
FileWriter

FileWriter是用于向文件写入字符数据的类。

import java.io.FileWriter;
import java.io.IOException;

public class FileWriterExample {
    public static void main(String[] args) {
        FileWriter fw = null;
        try {
            fw = new FileWriter("example.txt");
            String data = "Hello, World!";
            fw.write(data);
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (fw != null) {
                try {
                    fw.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

文件读写操作

文件读写操作是程序中常见的功能,可以通过字节流和字符流来实现。以下是一些常见的文件读写操作:

读取文件

读取文件时,可以选择按字节或字符读取。按字节读取适用于所有类型的文件,而按字符读取适用于文本文件。

写入文件

写入文件时,同样可以选择按字节或字符写入。写入操作会覆盖文件内容,除非使用追加模式。

追加写入

FileOutputStreamFileWriter都提供了追加模式,可以在文件末尾追加内容。

import java.io.FileWriter;
import java.io.IOException;

public class FileWriterAppendExample {
    public static void main(String[] args) {
        FileWriter fw = null;
        try {
            fw = new FileWriter("example.txt", true); // true表示追加模式
            fw.write("\nNew line added.");
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (fw != null) {
                try {
                    fw.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

总结

本章节详细介绍了Java中的输入输出流和文件操作。我们学习了IO流的基本概念和分类,包括字节流和字符流的区别和用途。通过实际的代码示例,我们了解了如何使用FileInputStreamFileOutputStreamFileReaderFileWriter进行文件的读写操作。这些操作是Java编程中的基础技能,掌握它们对于处理文件和数据流至关重要。通过这些知识,我们可以在实际开发中高效地进行文件操作和数据处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码上分享

创作不易,感谢各位看官

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值