java基础之 IO 流(输入/出字符流)

2023-11-06

字符基流

FileReader/FileWriter 

代码示例

package IOTest;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;

/**
 * ClassName: FileReaderDemo <br/>
 * Description: <br/>
 * date: 2021/8/3 14:52<br/>
 *
 * @author yiqi<br />
 * @since JDK 1.8
 */
public class FileReaderDemo {
    public static void main(String[] args) throws Exception {
        //创建文件输入流
        FileReader fr = new FileReader("src/IOTest/test.txt");
        //创建文件输出流
        FileWriter fw = new FileWriter("src/IOTest/clone.txt");
        //设置文件 一次读取 长度 是 char[] 不是 byte[]
        char[] buffer = new char[1024];
        //读取数据
        while (true){
            int len = fr.read(buffer);
            if (len == -1){
                break;
            }
            fw.write(buffer,0,len);
            //刷新缓存 可写可不写
            fw.flush();
        }
        //关闭流
        fr.close();
        fw.close();

    }
}

 转换字符流

 代码示例

package IOTest;

import java.io.*;

/**
 * ClassName: StringReaderStream <br/>
 * Description: <br/>
 * date: 2021/8/3 22:07<br/>
 *
 * @author yiqi<br />
 * @since JDK 1.8
 */
public class StringReaderStream {
    public static void main(String[] args) throws Exception {
        //创建输入流 编码格式注意统一 下同
        InputStreamReader isr = new InputStreamReader(new FileInputStream("src/IOTest/test.txt"),"utf-8");
        //创建输出流
        OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("src/IOTest/clone.txt"),"utf-8");
        //读写数据
        //规定一次读取多少
        char[] buffer = new char[1024];
        while (true){
            int len = isr.read(buffer);
            if (len == -1){
                break;
            }
            osw.write(buffer,0,len);
            osw.flush();
        }
        //关闭流
        isr.close();
        osw.close();
    }
}

 缓冲字符流

 代码示例

package IOTest;

import java.io.*;

/**
 * ClassName: BufferReaderDemo <br/>
 * Description: <br/>
 * date: 2021/8/3 22:53<br/>
 *
 * @author yiqi<br />
 * @since JDK 1.8
 */
public class BufferReaderDemo {
    public static void main(String[] args) throws Exception {
        //创建输入流
        BufferedReader br = new BufferedReader(new FileReader("src/IOTest/test.txt"));
        //创建输出流
        BufferedWriter bw = new BufferedWriter(new FileWriter("src/IOTest/clone.txt"));
        //读写操作
        while (true){
            String str = br.readLine();
            if (str == null){
                break;
            }
            //写
            bw.write(str);
            //换行 不要忘记,要不然全部一行
            bw.newLine();
            //刷新缓冲区
            bw.flush();
        }
        //关闭流
        br.close();
        bw.close();
    }
}

打印字符流

 代码示例

package IOTest;

import java.io.*;

/**
 * ClassName: BufferReaderDemo <br/>
 * Description: <br/>
 * date: 2021/8/3 22:53<br/>
 *
 * @author yiqi<br />
 * @since JDK 1.8
 */
public class BufferReaderDemo {
    public static void main(String[] args) throws Exception {
        //创建输入流
        BufferedReader br = new BufferedReader(new FileReader("src/IOTest/test.txt"));
        //创建输出流
        PrintWriter pw = new PrintWriter(new FileWriter("src/IOTest/clone.txt"));
        //读写操作
        while (true){
            String str = br.readLine();
            if (str == null){
                break;
            }
            //写在一行
//            pw.write(str); || pw.print(str);
            //换行写
            pw.println(str);
            //换行 不要忘记,要不然全部一行
            //刷新缓冲区
            pw.flush();
        }
        //关闭流
        br.close();
        pw.close();
    }
}

 阶段性总结

我带着大家已经写了很多种 流 了,下面还剩一 种流我就只讲其用法,望大家自己尝试。

最为关键的是 掌握 如何创建 流,有了流之后就是调用 api 的事情了。

字符串字符流

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java基础之 IO 流(输入/出字符流) 的相关文章

随机推荐

  • 为什么http协议需要服务器,http协议、web服务器、并发服务器(上)

    1 HTTP格式 每个HTTP请求和响应都遵循相同的格式 一个HTTP包含Header和Body两部分 其中Body是可选的 HTTP协议是一种文本协议 所以 它的格式也非常简单 1 1 HTTP GET请求的格式 GET path HTT
  • 网络安全专业名词解释

    1 Burp Suite 是一款信息安全从业人员必备的集成型的渗透测试工具 它采用自动测试和半自动测试的方式 通过拦截HTTP HTTPS的Web数据包 充当浏览器和相关应用程序的中间人 进行拦截 修改 重放数据包进行测试 是Web安全人员
  • Linux 互斥锁 递归锁 自旋锁 读写锁

    在多线程中 我们经常会要用到锁 那么 锁是什么 我们为什么要用到锁 回到问题的本质 我们在什么场景下会用到锁 锁是针对程序中的临界资源 也就是公共资源的 当我们有两个或多个线程同时对一个临界资源操作的时候 为了保证共享数据操作的完整性 我们
  • JSP中EL表达式的取值

    EL表达式可以取JavaBean的值 也可以取Attribute的值 下面是取Attribute的值
  • 计算属性结构

    一 计算属性的基本结构 计算属性 可以在里面写一些计算逻辑的属性 而是经过一系列计算之后再返回结果 他不像普通函数那样直接返回结果 而是经过一系列计算之后再返回结果 同时只要在它当中应用了data中的某个属性 当这个属性发生变化时 计算属性
  • 合宙Luat

    武侠小说中 主人公之所以能纵横江湖 常常离不开一样可遇不可求的绝世法宝 武功秘籍 如今勇于尝试的开发者 笃定地告诉后来者 选Luat二次开发 就如同拥有了物联网开发的武功秘籍 本期让我们通过 射雕英雄传 的一些小场景 聊聊LuaTask延时
  • 未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序

    错误信息 未在本地计算机上注册 microsoft ACE oledb 12 0 提供程序 在往SQL Server数据库中导入excel表数据的时候遇到的 原因就是 office system文件和非office 应用程序之间传输数据 解
  • 内网信息收集(附脚本)

    D X安全实验室 文中脚本已上传至github https github com Potato py getIntrInfo 可打包为可执行文件 可过360 火绒等 渗透的本质就是信息收集 信息收集的深度与广度以及对关键信息的提取 影响了后
  • sass基础语法之 ----------条件判断及循环

    sass基础语法 条件判断及循环 这是我的第一篇博客 把项目中的一些问题 心得 知识点 等 会总结一些写上来 想自学sass的可以点击下面链接哦 语法学习链接 sass语法 http sass bootcss com docs sass r
  • 微信小程序实现滚动字幕

    wxml部分
  • MATLAB向量运算

    基本运算 行列向量的单元素引用极其简单 下面是例子 a 3 4 5 6 7 8 a 2 ans 4 b 9 8 7 6 5 4 b 6 ans 4 还可以选择一个范围从向量的元素 使用sub 函数 blue 9 8 7 6 5 4 3 2
  • 安装spark如何查看它需要的Scala的版本号

    1 配置sprak的环境变量 在环境变量里面添加spark的bin文件的路径 2 进入cmd执行spark shell 最后会显示出需要的scala的版本号
  • 【Linux】配置系统默认启动内核版本方式

    查看默认启动内核 这是一个在Linux系统中使用的命令行 用户通过该命令行查看并编辑GRUB2引导加载程序环境变量 具体含义如下 saved entry 6752e052c66d4923aeeb3f42f123175e 4 18 0 348
  • JavaWeb第三讲 JSP内置对象、基本动作指令、常见编译指令及四大作用域

    JSP内置对象 基本动作指令 常见编译指令及四大作用域 一 JSP工作原理 当一个jsp页面第一次被访问的时候 jsp将执行以下三个步骤 之后的访问速度会因为class文件已经生成而大大提高 当jsp引擎发送一个客户端请求的时候 首先判断请
  • Jupyter Notebook 开始文件地址 读取文件地址

    项目场景 新手使用Jupyter Notebook需要配置文件地址 问题描述 如果不配置文件地址容易出现读取model data 不到的情况 出现异常报错 Nameerror NameError Traceback most recent
  • python使用elasticsearch_Elasticsearch介绍及在python中的使用

    Elasticsearch是Java开发的一个搜索服务器 是一个分布式的搜索引擎 它提供了Restful API接口 启动Elasticsearch服务后 我们可以通过发送Restful的http请求对数据进行增删改查等操作 Elastic
  • 【华为OD机试】拔河比赛【2023 B卷

    华为OD机试 真题 点这里 华为OD机试 真题考点分类 点这里 题目描述 公司最近准备进行拔河比赛 需要在全部员工中进行挑选 选拔的规则如下 按照身高优先 体重次优先的方式准备比赛阵容 规定参赛的队伍派出10名选手 请实现一个选拔队员的小程
  • Maven项目代码生成器插件(code-generator-maven-plugin)

    简介 code generator maven plugin 是一个基于baomidou mybatis plus generator实现的 在 Maven 项目中生成代码的 Maven 插件 主要包括 code generator MyB
  • 淘宝小程序数据流转

    目录 前言 一 淘宝小程序的数据流转 二 更新方法 1 由父及子 1 官方常见式 2 由子及父 反了老子 1 this page setData 3 全局绑定 总结 前言 最近做了好几个小程序 感觉自己review之前代码太难受了 数据和目
  • java基础之 IO 流(输入/出字符流)

    字符基流 FileReader FileWriter 代码示例 package IOTest import java io FileNotFoundException import java io FileReader import jav