秒懂字符输出流:Writer | 带你学《Java语言高级特性》之五十五

简介: 在前几节中我们了解了字节输出流和字节输入流的相关定义和使用方法,但在程序运行过程中不难发现往往字符级别的操作更为常见,所以Java在JDK1.1时推出了字符流,本节将介绍字符输出流Writer。

上一篇:有出有入:使用字节输入流 | 带你学《Java语言高级特性》之五十四

在前几节中我们了解了字节输出流和字节输入流的相关定义和使用方法,但在程序运行过程中不难发现往往字符级别的操作更为常见,所以Java在JDK1.1时推出了字符流,本节将介绍字符输出流Writer。

【本节目标】
通过阅读本节内容,你将了解字符输出流Writer类的基本定义和继承关系图,了解其内的各种方法的功能,并学会使用字符输出流实现数据写入功能。

Writer字符输出流

使用OutputStream字节输出流进行数据输出的时候使用的都是字节类型的数据,而很多情况下字符串的输出是比较方便的,所以对于java.io包而言,在JDK1.1的时候又推出了字符输出流:Writer,这个类的定义如下:

public abstract class Writer extends Object implements Appendable, Closeable, Flushable

image.png
Writer

在Writer类里面提供有许多的输出操作方法,重点关注两个:

  • 输出字符数组:public void write(char[] cbuf) throws IOException;
  • 输出字符串:public void write(String str) throws IOException;

范例:使用Writer类输出

import java.io.File;
import java.io.FileWriter;
public class JavaAPIDemo {
    public static void main(String[] args) throws Exception {
        File file = new File("D:"+ File.separator + "hello" + File.separator + "mldn.txt");
        if (!file.getParentFile().exists()) {
            file.getParentFile().mkdirs();   //父目录必须存在
        }
        //  Writer out =new FileWriter(file, true);//内容追加
        Writer out = new FileWriter(file);   //内容覆盖
        String str = "www.mldn.cn";
        out.write(str);
        out.close();
    }
}
import java.io.File;
import java.io.FileWriter;
public class JavaAPIDemo {
    public static void main(String[] args) throws Exception {
        File file = new File("D:"+ File.separator + "hello" + File.separator + "mldn.txt");
        if (!file.getParentFile().exists()) {
            file.getParentFile().mkdirs();   //父目录必须存在
        }
        Writer out = new FileWriter(file);   //内容覆盖
        String str = "www.mldn.cn\r\n";
        out.write(str);
        out.append("中国人民万岁。");   //追加输出内容
        out.close();
    }
}

使用Writer输出的最大优势在于可以直接利用字符串完成。Writer是字符流,字符处理的优势在于中文数据上。

想学习更多的Java的课程吗?从小白到大神,从入门到精通,更多精彩不容错过!免费为您提供更多的学习资源。
本内容视频来源于阿里云大学

下一篇:掌握字符输入流:Reader | 带你学《Java语言高级特性》之五十六
更多Java面向对象编程文章查看此处

相关文章
|
30天前
|
数据采集 分布式计算 大数据
Java语言在大数据处理中的应用
传统的大数据处理往往依赖于庞大的数据中心和高性能的服务器,然而随着大数据时代的到来,Java作为一种强大的编程语言正在被广泛应用于大数据处理领域。本文将探讨Java语言在大数据处理中的优势和应用,以及其在分布式计算、数据处理和系统集成等方面的重要作用。
|
1天前
|
SQL Java 数据库连接
Java从入门到精通:2.3.2数据库编程——了解SQL语言,编写基本查询语句
Java从入门到精通:2.3.2数据库编程——了解SQL语言,编写基本查询语句
|
7天前
|
前端开发 Java Go
开发语言详解(python、java、Go(Golong)。。。。)
开发语言详解(python、java、Go(Golong)。。。。)
|
7天前
|
人工智能 前端开发 Java
Java语言开发的AI智慧导诊系统源码springboot+redis 3D互联网智导诊系统源码
智慧导诊解决盲目就诊问题,减轻分诊工作压力。降低挂错号比例,优化就诊流程,有效提高线上线下医疗机构接诊效率。可通过人体画像选择症状部位,了解对应病症信息和推荐就医科室。
146 10
|
12天前
|
Java Android开发 C++
Kotlin vs Java:选择最佳语言进行安卓开发
【4月更文挑战第13天】Java曾是安卓开发的主流语言,但Kotlin的崛起改变了这一局面。Google在2017年支持Kotlin,引发两者优劣讨论。Java以其成熟稳定、强大生态和跨平台能力占优,但代码冗长、开发效率低和语言特性过时是短板。Kotlin则以简洁语法、空安全设计和高度兼容Java脱颖而出,但社区和生态系统仍在发展中,可能存在学习曲线和性能问题。选择语言应考虑项目需求、团队熟悉度、维护性、性能和生态系统。无论选择哪种,理解其差异并适应新技术至关重要。
|
17天前
|
存储 Java 数据库连接
java使用mp持久化框架,写入5000个字符,但是VARCHAR(255) 会报错
使用Java的MyBatis Plus框架时,如果尝试将超过VARCHAR(255)限制的字符串(如5000个字符)存入数据库,会抛出异常。解决方法是将列类型改为TEXT。可通过在实体类属性上添加`@TableField(typeHandler = JdbcType.CLOB)`注解,如`private String content;`,将属性映射到CLOB类型列,以存储更长字符串。
9 0
|
23天前
|
Java
Java语言打印九九乘法表(详解)
Java语言打印九九乘法表(详解)
15 1
Java语言打印九九乘法表(详解)
|
24天前
|
SQL Java 数据库连接
Cause: java.sql.SQLSyntaxErrorException: ORA-00911: 无效字符
Cause: java.sql.SQLSyntaxErrorException: ORA-00911: 无效字符
11 0
|
1月前
|
Java API 开发工具
【软件设计师备考 专题 】C、C++、Java、Visual Basic、Visual C++等语言的基础知识和应用(三)
【软件设计师备考 专题 】C、C++、Java、Visual Basic、Visual C++等语言的基础知识和应用
30 0
|
1月前
|
Java 数据处理 数据库
【软件设计师备考 专题 】C、C++、Java、Visual Basic、Visual C++等语言的基础知识和应用(二)
【软件设计师备考 专题 】C、C++、Java、Visual Basic、Visual C++等语言的基础知识和应用
34 0