广告
返回顶部
首页 > 资讯 > 后端开发 > Python >JavaIO流之字符流的使用详解
  • 591
分享到

JavaIO流之字符流的使用详解

2024-04-02 19:04:59 591人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录一、字符流的出现二、字符输入流Reader三、文件字符输入流 FileReader四、字符输出流 Writer五、文件字符输出流 FileWriter六、close()和flus

一、字符流的出现

中文在GBK中占有两个字节,在utf-8中占有三个字节(即需要三个字节才能组成一个中文字),字节流读取中文时由于编码集的不同,字节流读取中文也比较麻烦,从而出现了字符流

字符流也在java.io包下

二、字符输入流Reader

①、是一个接口类

②、里面提供了一些共性的方法,供子类使用

方法描述
int read()读取单个字符并返回
int read(char[] c)一次性读取多个字符,将数据放入数组
void close()释放资源

三、文件字符输入流 FileReader

①、FileReader extends InputStreamReader extends Reader

②、构造方法

FileReader(String filename)

FileReader(File file)

参数:读取文件的数据源

作用:创建FileReader对象、把FileReader对象指向要读取的文件

③、步骤

1、创建FileReader对象并绑定数据源

2、使用对象的read方法读取数据

3、释放资源

④、代码编程(读取单个字符)

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

public class ReaderTest {
    public static void main(String[] args) {
        try {
            // 1、创建FileReader对象
            FileReader fr = new FileReader("E:\\JavaCode\\JavaSE\\Day8-24\\src\\a.txt");
            // 2、调用read方法
            int len = 0;
            while ((len = fr.read())!=-1){
                System.out.println((char)len);
            }
            // 3、释放资源
            fr.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

⑤、代码编程(一次性读取多个字符)

try {
            // 1、创建FileReader对象
            FileReader fr = new FileReader("E:\\JavaCode\\JavaSE\\Day8-24\\src\\a.txt");
            // 2、调用read方法
            char[] c = new char[1024];
            int len = 0;
            while ((len = fr.read(c))!=-1){
                System.out.println(new String(c,0,len));
            }
            // 3、释放资源
            fr.close();
        } catch (IOException e) {
            e.printStackTrace();
        }

四、字符输出流 Writer

共性的成员方法

方法介绍
void write(int c)写入单个字符
void write(char[] c)写入字符数组
abstract void write(char[] c,int off,int len)写入字符数组的某一部分,off为数组的开始索引,len为写入的字符个数
void write(String str)写入字符串
void write(String str,int off,int len)写入字符串的某一部分,off为字符开始索引,len为写的字符个数
void flush()刷新该流的缓冲
void close()释放资源

五、文件字符输出流 FileWriter

①、FileWriter extends OutputStreamWriter extends Writer

②、构造方法

方法介绍
FileWriter (File file)根据给定的file对象构造一个FileWriter对象
FileWriter (String filename)根据给定 的文件名构造一个FileWriter对象

参数:写入数据的目的地

③、使用步骤

1、创建FileWriter对象,构造方法中绑定要写入数据的目的地

2、使用FileWriter中的方法write,把数据写入到内存缓冲区中(字符转换为字节的过程)

3、使用FileWriter中的方法flush,把内存缓冲区中的数据刷新到文件中(必须有这一步)

4、释放资源

④、代码描述

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

public class WriterTest {
    public static void main(String[] args) {
        try {
            // 1、创建对象
            FileWriter fw = new FileWriter("E:\\JavaCode\\JavaSE\\Day8-24\\src\\a.txt",true);
            // 2、写入数据
            fw.write("好么");
            // 3、刷新
            fw.flush();
            // 4、释放资源
            fw.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

六、close()和flush()的区别

close()释放资源后不能够再使用流进行相关的操作

flush()刷新后还能够再操作

七、换行和续写

与字节流中的换行和续写一致

续写:

在使用构造函数的时候传入两个参数,第一个参数是文件的路径,第二个参数是是否续写(为true表示续写false则表示不续写直接覆盖)

换行:

windows系统中换行符号为 \r\n

linux系统中换行符号为 /n

Mac系统中换行符号为 /r

八、使用try-catch-finally处理流异常

try{
    可能会产出异常的代码
}catch(异常类变量 变量名){
    异常的处理逻辑
}finally{
    一定会执行的代码
    资源释放
}

今天只进行简单的介绍,后续会专门出一期jdk7和jdk9中处理流异常的对比

到此这篇关于Java IO流之字符流的使用详解的文章就介绍到这了,更多相关Java字符流内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: JavaIO流之字符流的使用详解

本文链接: https://www.lsjlt.com/news/165960.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JavaIO流之字符流的使用详解
    目录一、字符流的出现二、字符输入流Reader三、文件字符输入流 FileReader四、字符输出流 Writer五、文件字符输出流 FileWriter六、close()和flus...
    99+
    2022-11-13
  • JavaIO流之字节输入流的使用详解
    目录一、InputStream字节输入流二、FileInputStream文件输入类三、文件复制一、InputStream字节输入流 ①、是一个抽象类,不能够创建对象,需要被继承才能...
    99+
    2022-11-13
  • JavaIO之包装流详解
    目录1、前面讲的字符输入输出流,字节输入输出流都是字节流。那么什么是包装流呢?2、缓冲流  3、转换流:把字节流转换为字符流4、内存流(数组流):5、合并流:把多个输入流合并为一个流...
    99+
    2022-11-13
  • JavaIO之字节输入输出流详解
    目录1、字节输出流:OutputStream2、字节输入流:InputStream3、用字节流完成文件的复制总结那么这篇博客我们讲的是字节输入输出流:InputStream、Outp...
    99+
    2022-11-13
  • 详解Java中字符流与字节流的区别
    Java中字符流与字节流的区别1. 什么是流    Java中的流是对字节序列的抽象,我们可以想象有一个水管,只不过现在流动在水管中的不再是水,而是字节序列。和水流一样,Java中的流也具有一个“流动的方向”,...
    99+
    2023-05-31
    java 字符流 字节流
  • Java 超详细讲解字符流
    目录一、字符流的由来二、编码表字符集:Unicode字符集:UTF-8编码规则:三、字符串中的编码解码问题编码方法(IDEA):解码方法(IDEA):四、字符流的编码解码问题四、字符...
    99+
    2022-11-13
  • Java超详细讲解IO操作字节流与字符流
    目录IO操作字节流FileInputStreamFileOutputStream字节流读写案例字符流FileReaderFileWriter字节流与字符流的区别IO操作 字节流 ...
    99+
    2022-11-13
  • 【Java IO流】字节流和字符流的实例讲解
    字节流和字符流对于文件必然有读和写的操作,读和写就对应了输入和输出流,流又分成字节和字符流。从对文件的操作来讲,有读和写的操作——也就是输入和输出。从流的流向来讲,有输入和输出之分。从流的内容来讲,有字节和字符之分。这篇文章先后讲解IO流中...
    99+
    2023-05-31
    字符流 字节流 java
  • 关于java中I/O流的字节流与字符流的详细介绍
    一、绪论如果要进行文件内容的操作那么必须依靠数据流完成,而数据流分为两种:字节流:InputStream(字节输入流)、OutputStream(字节输出流);字符流:Reader(字符输入流)、Writer(字符输出流);二、区别字节流是...
    99+
    2017-12-15
    java教程 java I/O 字节流 字符流
  • Java IO流之节点流与字符流的相关知识总结
    一、File file是文件和目录路径名的抽象表示 1.1 File的用法 用法: File file = new File("路径名"); //如 File file =...
    99+
    2022-11-12
  • Java中字节流和字符流的理解(超精简!)
    目录引言 字节流和字符流 字节流 字节输入流 字节输出流 字符流字符输入流 字符输出流 附:字节流和字符流的区别...
    99+
    2022-11-13
  • Java中的字节,字符输出流与字节和字符输入流的简单理解
    目录字节输出流OutputStream字符输出流字节输入流InputStream字符输入流Reader字节流和字符流的区别总结我先解释一下什么叫IO流: I:指的是Inpu...
    99+
    2022-11-12
  • Java IO流 - 字节流的使用详细介绍
    文章目录 IO流的基本介绍字节流的使用文件字节输入流创建字节输入流每次读取一个字节每次读取一个数组一次读取全部字节 文件字节输出流创建字节输出流写入文件输出流 文件拷贝练习 ...
    99+
    2023-09-16
    java jvm 前端
  • C/C++中字符串流详解及其作用介绍
    目录概述字符串流理解字符串流输出字符串对象输入字符串流对象输入输出字符串流对象案例一案例二字符数组 vs 文件总结概述 文件流类和字符串流类都是 ostream, istream 和...
    99+
    2022-11-12
  • Java基础学习之字符缓冲流的应用
    目录一、字符缓冲流二、字符缓冲流复制Java文件三、字符缓冲流特有功能四、字符缓冲流特有功能复制Java文件一、字符缓冲流 字符缓冲流介绍: BufferedWriter:将文本写入...
    99+
    2022-11-13
  • C++文件IO流及stringstream流读写文件和字符串操作详解
    目录一、引入二、自定义类型隐式类型转换三、sync_with_stdio同步四、文件IO流4.1 open和close文件4.2 写入文件与读出文件五、stringstream流的使...
    99+
    2023-05-17
    C++文件IO流 C++ stringstream流
  • Java IO之流的分类详解
    目录一、根据流向分为输入流和输出流:二、根据传输数据单位分为字节流和字符流三、根据功能分为节点流和包装流总结一、根据流向分为输入流和输出流: 注意输入流和输出流是相对于程序而言的。 ...
    99+
    2022-11-13
  • Java字符缓冲流怎么使用
    这篇文章主要介绍“Java字符缓冲流怎么使用”,在日常操作中,相信很多人在Java字符缓冲流怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java字符缓冲流怎么使用”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-29
  • Java基础字符编码与内存流详细解读
    目录1、字符编码1.1 常用字符编码1.2 乱码产生分析2、内存流基本操作3、打印流3.1 格式化文本信息4、 System类4.1 系统输出4.2 系统输出4.3 系统输入5、Bu...
    99+
    2022-11-12
  • Java文件操作之IO流 File类的使用详解
    File类概述 File类能新建、删除、重命名文件和目录,但不能访问文件内容本身,如果需要访问文件内容本身,则需要使用后续的输入/输出流。 要在Java程序中表示一个真实存在的文件或...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作