龙空技术网

「Java进阶」I/O操作必备知识点:关于字符流读写的实例讲解

老K玩代码 216

前言:

而今小伙伴们对“字符的排序java”大概比较重视,各位老铁们都需要了解一些“字符的排序java”的相关文章。那么小编也在网摘上收集了一些有关“字符的排序java””的相关内容,希望我们能喜欢,咱们一起来学习一下吧!

欢迎来到全网最完整的Java入门系列教程!!!

本教程将包含基础知识、进阶知识、常用框架等,循序渐进地分享Java中必须掌握的知识和技术。建议跟着教程的节奏每天学习一点,你会发现入门Java没有想象中那么难。

上一讲我们讲解了IO文件读写字节流读写的部分,本期就要说一下字符流读写。

如果你正在学习Java,不妨收藏这篇文章,或者关注我,定期收获与Java有关的知识和项目信息!

Java进阶知识前九课的内容,可拉到文章末尾获取。

接下来就让我们正式开始分享课程内容吧。

一、Writer类

1. 概念

Writer类是一个字符流输出的抽象类,字符流是特殊的字节流,常见的子类有:FileWriterCharArrayWriter等。

2. 输出字符流-代码实现

代码示例(代码初构):

import java.io.*;public class IODemo {    public static void main(String[] args) throws IOException {        File f = new File("io.txt");        Writer writer = new FileWriter(f);        writer.write("老K玩代码");    // 在目标文件中写入文本        writer.append("\nlord k coding.");    // 在目标文件中追加文本        writer.close();    // 关闭对象    }}

说明:

注意:当初始化Writer writer =newFileWriter(f);的时候,f文档中的内容会被清空;为体现输出字符流的代码主体结果,我们直接将所有异常向上抛出,不过现实中建议用以下方式实现文本写入。

代码示例(实操时的完整代码):

import java.io.*;public class IODemo {    public static void main(String[] args) {        // ① 对象实例化        File f = new File("io.txt");        Writer writer = null;        try{            if (!f.exists()) {                f.createNewFile();            }            // ②读写文件            writer = new FileWriter(f);            writer.write("老K玩代码");    // 在目标文件中写入文本            writer.append("\nlord k coding.");    // 在目标文件中追加文本        } catch (IOException e) {            throw new RuntimeException(e);        } finally {            // ③关闭文件            try {                writer.close();    // 关闭对象            } catch (IOException e) {                throw new RuntimeException(e);            }        }    }}

说明:

读取f的时候,File指向的文件路径可能不存在,所以先用f.exists()方法判断,若不存在,则f.createNewFile()创建;writer =newFileWriter(f);可能会抛出IOException异常,用try...catch....捕获;最后关闭writer时,注意捕获IOException异常。二、Reader类

1. 概念

ReaderWriter类相对应,是字符流输入的抽象类,常见的子类有:FileReaderCharArrayReader等。

2. 输入字符流-代码实现

示例代码(代码初构):

import java.io.*;public class IODemo {    public static void main(String[] args) throws IOException {        File f = new File("io.txt");        Reader reader = new FileReader(f);        int ch = 0;        while ((ch = reader.read()) != -1) {            System.out.print((char)ch);        }        reader.close();    }}

说明:

对异常作向上抛出处理,仅作为展示代码主体结构之用,现实中以下例为佳;

代码示例(实操时的完整代码):

import java.io.*;public class IODemo {    public static void main(String[] args) {        // ① 对象实例化        File f = new File("io.txt");        Reader reader = null;        try {            reader = new FileReader(f);            // ②读写文件            int ch = 0;            while ((ch = reader.read()) != -1) {                System.out.print((char)ch);            }        } catch (IOException e) {            throw new RuntimeException(e);        } finally {            // ③关闭文件            try {                reader.close();            } catch (IOException e) {                throw new RuntimeException(e);            }        }    }}

说明:

Reader通过read()方法读取出来的数据是整型数值int,打印需要通过(char)转型成字符再输出。

关于字符流读写的知识就分享到这里。

内容不多,和老K一起每天积累一点点,轻轻松松掌握Java知识。

正在学习的小伙伴记得给老K一个赞哦,你的支持是我持续输出课程内容最大的动力!

Java进阶知识前九课的内容,可点击下方获取:

如何优雅的处理异常--Java进阶知识讲义系列(一)

包装器类装箱与拆箱的艺术——Java进阶知识讲义系列(二)

一文讲透Java字符串——Java进阶知识讲义系列(三)

List的用法和实例详解——Java进阶知识讲义系列(四)

Set的用法和实例详解——Java进阶知识讲义系列(五)

Map的用法和实例详解——Java进阶知识讲义系列(六)

常用集合的排序方法——Java进阶知识讲义系列(七)

I/O流之File类的用法和实例详解——Java进阶知识讲义系列(八)

「Java进阶」I/O操作必备知识点:字节流读写实例讲解

结束语

我是专注于开发领域的@老K玩代码,会持续生产关于如何学习编程语言的优质内容。

如果你想学习Java编程,或者想精进你的Java编程能力,可以关注我。

如果你对开发、编程有任何疑问或者有想了解的内容,而我暂时没有写到的,也欢迎随时来找我聊聊。

#头条创作挑战赛#

标签: #字符的排序java