13_IO流_字符流

14【IO流基础】 一、IO概述 1.1 IO流简介 I(Input)O(Output):中文翻译为输入输出,我们知道计算机的数据不管是软件、视频、音乐、游戏等最终都是存储在硬盘中的,当我们打开后,由CPU将硬盘中的数据读取到内存中来运行。这样一个过程就产生了I/O(输入/输出) 水的流向我们成为水流,数据的流动成为数据流,我们简称为流;数据的流向根据流向的不同,我们分为输入(Input)流和输出(Output)流,简称输入输出流,或称IO流; 1.2 IO流的分类 根据 阅读详情

字符流

文件字符输入流(FileReader)
  • 每次读取一个字符
import java.io.FileReader;
import java.io.Reader;

public class Test {
    public static void main(String[] args) {

        try (
                // 1. 创建一个文件字符输入流管道与源文件接通
                Reader inputStream = new FileReader("E:/Desktop/temp.txt");
        ) {
            // 2. 读取文本文件的内容
            int c;  // 记录每次所读取到的字符的"编码号数", 例如 a -> 97
            while ((c = inputStream.read()) != -1) {
                System.out.print((char) c);
            }
            // 这种方式性能比较差
            
        } catch (Exception e) {
            throw new RuntimeException(e);
        }

    }
}
  • 每次读取多个字符
import java.io.FileReader;
import java.io.Reader;

public class Test {
    public static void main(String[] args) {

        try (
                // 1. 创建一个文件字符输入流管道与源文件接通
                Reader inputStream = new FileReader("E:/Desktop/temp.txt");
        ) {
            // 2. 每次读取多个字符
            char[] buffer = new char[3];
            int len;  // 记住每次读取了多少个字符
            while ((len = inputStream.read(buffer)) != -1) {
                // 读取多少就倒出多少
                String s = new String(buffer, 0, len);
                System.out.print(s);
            }

        } catch (Exception e) {
            throw new RuntimeException(e);
        }

    }
}
文件字符输出流(FileWriter)
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;

public class Test {
    public static void main(String[] args) {

        try (
                // 0. 创建一个文件字符输出流管道与目标文件接通 (它是一个默认会覆盖文件内容的管道)
//                Writer fw = new FileWriter("E:/Desktop/temp.txt");
                // 将属性设为true,就不会覆盖了
                Writer fw = new FileWriter("E:/Desktop/temp.txt", true);
        ) {
            // 1. 写一个字符出去
            fw.write('a');
            fw.write(97);
            fw.write('王');  // '王'是一个字符,这样写没有任何问题
            fw.write("\r\n");  // 换行

            // 2. 写一个字符串出去
            fw.write("哈哈哈abc");
            fw.write("我爱你abc", 0, 3);  // 写"我爱你"这一部分内容出去
            fw.write("\r\n");  // 换行


            // 3. 写一个字符串数组出去
            char[] buffer = {'我', '们', '都', '是', '追', '梦', '人'};
            fw.write(buffer);
            fw.write(buffer, 0, 2); // 写"我们"这一部分出去
            fw.write("\r\n");  // 换行


        } catch (IOException e) {
            throw new RuntimeException(e);
        }

    }
}
import java.io.FileWriter;
import java.io.Writer;

public class Test {
    public static void main(String[] args) throws Exception {
        Writer fw = new FileWriter("E:/Desktop/temp.txt");

        // 写字符数据出去
        fw.write('a');
        fw.write('b');
        fw.write('c');
        fw.write("\r\n");
        fw.write("我们都是追梦人");
        fw.write("\r\n");

        // 字符输出流的注意事项:
        // 为了减少对文件的操作,同时提升写入速度,
        // 会设有一个缓冲区是专门用来记录要写入文件的所有内容
        // 囤到差不多了才会真正存入文件中

        // 刷新流 => 立刻将缓冲区的内容保存到文件中
        // 关闭流(包含了刷新流的操作)

        fw.flush();  // 刷新流
        fw.write("还能继续写下去");
        fw.flush();  // 继续刷新

        fw.close();  // 实际开发中,没有特殊需求,直接用这个就够了,因为"关闭流"里面包含了"刷新流"
    }
}
【Bug已解决】Codex CLI 运行时出现 command not found: codex 解决方案 方案适用场景推荐指数修复 PATH 配置最常见的基础排查方向⭐⭐⭐⭐⭐检查原生二进制完整性PATH 正常但执行仍然异常⭐⭐⭐⭐统一包管理器混用多种包管理器导致混乱⭐⭐⭐⭐确认安装脚本未被跳过CI/CD 或企业策略环境⭐⭐⭐⭐排查网络下载渠道企业内网/受限网络环境⭐⭐⭐需要留意 warning 中是否涉及脚本执行失败、网络超时重试等信息,这类 warning 往往是后续问题的前兆,建议出现明显的下载/网络相关警告时就主动重新安装一次确认。Codex CLI 报。 阅读详情

相关推荐

等离子体密度诊断集

在实验上不仅要对带电粒子的分布和运动状态进行诊断,如电子温度、电子密度、电离温度等参数,还需要对等离子体中的中性粒子进行必要的实验测量,来获得有关物种的产生、能量分布以及各个激发态布居数分布等信息,如气体温度、转动温度、振动温度、激发温度等参数。

in546的博客 1351

13.IO流之字符流

---------------------- android培训、java培训、期待与您交流! ---------------------- 一.读写中文    1.使用FileInputStream和FileOutputStream读写中文       计算机存储任何数据都是以二进制字节形式存储, 那么使用字节流是可以读写字符的. 但是比较麻烦.       FileInputStr

X727642931X的专栏 678

Fluent温度超限调试:从能量方程到网格优化的实战指南

本文深入解析Fluent中温度超限问题的诊断与解决方法,从能量方程机制到网格优化策略,提供实战指南。通过分析温度与焓的换算关系,探讨典型场景如能量方程发散、局部网格质量差等,并给出五步调试法及高级命令应用,帮助工程师有效解决温度计算异常问题。

weixin_29045585的博客 530

JAVASEday13 IO流之字符流

字符流 InputStreamReader和OutputStreamWriter InputStreamReader 构造方法: InputStreamReader(InputStream is):用默认的编码(GBK)读取数据 InputStreamReader(InputStream is,String charsetName):用指定的编码读取数据 InputStreamReader ...

weixin_45295077的博客 179

双目相机立体匹配算法概述(含Python代码)

立体匹配任务是计算机视觉中的一个重要问题,旨在从一对具有相同场景的图像中估计每个像素的视差(disparity)。本文对现有的传统算法和深度学习算法进行了综述,以便于各位选择合适的立体匹配算法用于深度估计或三维建模。

m0_59257547的博客 8291

基于Python的高考志愿辅助填报系统

在实际应用中,系统需要处理更复杂的数据,包括更多的高校和专业信息、更详细的录取规则、以及用户的历史选择等。系统需要提供用户友好的界面,让考生输入自己的信息和偏好,然后通过后端的模型计算出推荐的志愿列表。此外,系统还应该提供一些个性化的服务,如根据考生的输入动态调整推荐策略、保存用户的填报历史和偏好等。特征可能包括考生的分数、所在省份、文理科类别、专业偏好、高校的地理位置、排名、专业的就业前景等。3. **推荐逻辑**:根据用户的分数和专业偏好,结合历史录取数据,使用简单的算法来推荐可能录取的高校和专业。

coder_wwwdy的博客 1976

JAVA-13-IO流之字符流;设计模式讲解

上一讲我们讲解了IO流中的字节流,本节我们继续讲解IO流中的字符流。 首先我们要先明白以下两点:   ①字节流是通用的(我们用的最多的是基本字节流一次读写一个字节数组)。   ②字符流一般只用于文本文档。 (四) 字符流及高效字符流   字符输入流 Reader类(抽象类)   字符输出流 Writer类(抽象类) 4.1 转换流 InputStreamReader、Ou

喵喵的博客 623

最全的Hermes安装教程以及Hermes WebUI安装部署和配置指南

* 直接执行命令**

小石头的专栏 1074

【进阶篇-Day13:JAVA中IO流之字节流、字符流的介绍】

I就是input从数据源读取数据。O就是output向数据目标写入数据。

Ma Sizhou 945

手把手教你学simulink(90.1)--直流电动机实例:基于Simulink的基本模型的直流电动机(DC Motor)建模

直流电动机(DC Motor)因其结构简单、控制方便和良好的调速性能,广泛应用于各种工业自动化、机器人技术、家用电器以及航空航天等领域。为了更好地理解和应用直流电动机的工作原理及其控制系统,本项目旨在通过Simulink对直流电动机进行基本模型的建模与仿真。

MHD0815的博客 439

ASPICE标准快速掌握「总目录」

欢迎大家来到雪云飞星的《ASPICE标准快速掌握》,开始前博主先列出本专栏学习的大纲,同时这也可以作为大家学习ASPICE协议知识点的参考。本专栏可以帮助大家快速掌握如何在项目中使用ASPICE,ASPICE的学习通常仅需要半天时间左右,掌握方法后完全就可以结合快查表来指导具体项目的质量提升了。

雪云飞星的博客 3008

2020.8.13Java基础总结22_IO流_字符流

Java基础总结22_IO流_字符流 一、字符流 ​ 当使用字节流读取文本文件时,可能会有一个小问题。就是遇到中文字符时,可能不会显示完整的字符,那是因为一个中文字符可能占用多个字节存储。所以Java提供一些字符流类,以字符为单位读写数据,专门用于处理文本文件。 1.1 字符输入流(Reader) ​ Reader抽象类是表示用于读取字符流的所有类的超类,可以读取字符信息到内存中。 字符输入流基本方法: public void close():关闭此流并释放与此流相关联的任何系统资源。 public in

weixin_42456748的博客 163

8.9华为OD机试真题 新系统 - 查找最佳充电策略 (Java/Py/C/C++/Js/Go)

8.9华为OD机试真题 新系统 - 查找最佳充电策略 (Java/Py/C/C++/Js/Go)

算法大师! 1161

day13 API02 IO流、File文件流、字节流/字符流读取与写出

人也有

weixin_58580280的博客 170

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

12-IO流(字符流-缓冲区-BufferedWriter)12 13-IO流(字符流-缓冲区-BufferedReader)12

insiston0635的博客 214

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

13.Java IO 流(文件流、字符流、字符处理流、字节处理流、对象处理流、标准流、转换流、打印流、Properties 配置文件、其他流)

13.Java IO 流(文件流、字符流、字符处理流、字节处理流、对象处理流、标准流、转换流、打印流、Properties 配置文件、其他流)

weixin_52173250的博客 1296

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

21-IO流-13-IO流(字符流-缓冲区-BufferedReader)

/* *【类名】public class BufferedReader extends Reader *【功能】 从字符输入流中读取文本,缓冲各个字符,从而实现【字符】、【数组】和【行】的高效读取。(操作对象与BufferedWriter不同) *其中行的概念是文本文件特有的,根据回车符判定该文本文件内容一共有几行。 * *【构造方法】 *同BufferedWriter * *【方

wy_0928的博客 273

13 IO流:字节流、字符流、缓冲流、文件复制(字节/字符/缓冲区)、字符转换流、打印流、IO框架(黑马Java视频笔记)

IO流:字节流、字符流、缓冲流、文件复制(字节/字符/缓冲区)、字符转换流、打印流、IO框架(黑马Java视频笔记)

m0_61625388的博客 1107

黑马程序员_学习笔记:13) IO流: 字节流(InputStream、OutputStream)、字符流(Reader、Writer)、File类、递归

IO流:★★★★★,用于处理设备上数据。 流:可以理解数据的流动,就是一个数据流。IO流最终要以对象来体现,对象都存在IO包中。 流也进行分类: 1:输入流(读)和输出流(写)。 2:因为处理的数据不同,分为字节流和字符流。   字节流:处理字节数据的流对象。设备上的数据无论是图片或者dvd,文字,它们都以二进制存储的。二进制的最终都是以一个8位为数据单元进行体现,所以计算机中的最小数

awangk2的专栏 411

DAY13_IO-字节流、字节缓冲流、字符流、字符缓冲流&转换流&对象操作流&Properties集合&IO与集合强化练习

字节流、字节缓冲流、字符流、字符缓冲流、转换流、对象操作流、Properties集合与Map用法、IO与集合强化综合练习案例五个

m0_57075290的博客 225

13-IO流2-字符流(读写)&字符缓冲流(读写) (雷同,读写中文不乱码、但只能操作纯文本文件)

用上一篇博客学习的字节流读取a.txt文本文件内容,并打印到控制台 英文正常输出,中文出现乱码字符流的介绍由于字节流操作中文不是特别的方便,所以Java就提供字符流字符流 = 字节流 + 编码表中文的字节存储方式用字节流复制文本文件时,文本文件也会有中文,但是没有问题,原因是最终底层操作会自动进行字节拼接成中文,如何识别是中文的呢?汉字在存储的时候,无论选择哪种编码存储,第一个字节都是负数什么是字符集是一个系统支持的所有字符的集合,包括各国家文字、标点符号、图形符号、数字等计算机要准确的存储和识别各种字

树叶子的博客 640

java io流练习题经典

java io流练习,建议可以跟着敲敲,这些在面试中常会遇到,希望对大家有帮助... Java IO流经典练习题 本文对javaIO流的13道经典的练习题做解答,里面有详细的思路解析,做题时最好养成先写思路在编程的习惯。 一.练习的题目 (一)在电脑D盘下创建一个文件为HelloWorld.txt文件,判断他是文件还是目录,在创建一个目 录IOTest,之后将HelloWor...

从放弃到开始 2240

File(IO流)

输出流:写数据输入流:读数据。

2301_79608612的博客 392

Java IO流

之前使用文件流、缓冲流读取文件只能按照字节、数组方式读取,最方便的也是按行读取,要想很方便的实现对各种基本类型和引用类型数据的读写,并保留其本身的类型;注意:使用对象流读写引用类型的数据,需要相应类实现Serializable接口,否则会提示异常,提示没有序列化,比如:java.io.NotSerializbleException;A1: 使用字节流,可能有图片、视频、音频等二进制文件。Q1: 使用字节流还是字符流。Q3: 涉及的技能点。

小小前端转型中 1272

CGBTN2110-DAY13总结复习

2 字节输入流1)抽象父级:InputStream–不能实例化构造方法参数:File file / String pathname构造方法参数:InputStream,但无法创建抽象父级对象,所以传的是FileInputStream3 字节输出流 OutputStream1)抽象父级:OutputStream–不能实例化构造方法参数:File file / String pathname注意:默认存在一个参数boolean append,默认值为false,也就是覆盖输出。

2401_85958889的博客 732

java IO流面试总结

java IO流面试总结

Java仗剑走天涯 4万+
上一篇: 12_IO流_字节流
下一篇: 14_IO流_其他的流
code_stream
博客等级 码龄4年 1238粉丝 169原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值