FileReader与FileWriter

FileReader(文件字符输入流)

  • 只能读取普通文本
  • 读取文本内容时,比较方便
  • 与FileInputStream读取文本时的不同是把数组换成char[ ]数组

1.构造方法:

FileReader(File file) 创建一个新的 FileReader ,给出 File读取。 FileReader(FileDescriptor fd) 创建一个新的FileReader,给定 FileDescriptor读取 FileReader(String fileName) 创建一个新的 FileReader,给定要读取的文件的名称。

2.代码示例:

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

public class FileReaderTest {
    public static void main(String[] args) {
        FileReader reader=null;

        {
            try {
                reader = new FileReader("D://JAVATest//test");
                //准备一个char数组
                char[] chars = new char[4];//一次读取四个字符
                int readCount=0;
                //按照字符的方式读取
                while ((readCount=reader.read(chars))!=-1){
                    System.out.print(new String(chars,0,readCount));
                }

            } catch (IOException e) {
                e.printStackTrace();
            }finally {
                if (reader != null) {
                    try {
                        reader.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
        }
    }
    }

输出:

ABCabc

FileWriter(文件字符输出流)

1.构造方法:

FileReader(File file) 创建一个新的 FileReader ,给出 File读取。 FileReader(FileDescriptor fd) 创建一个新的 FileReader ,给定 FileDescriptor读取 FileReader(String fileName) 创建一个新的 FileReader,给定要读取的文件的名称。

2.代码示例

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

public class FileWriterTest {
    public static void main(String[] args) {
        FileWriter out=null;
        try {
            out = new FileWriter("D:/JAVATest/filewrite");

            char[] chars={'我','最','爱','学','习','了'};
            out.write(chars);
            out.write("\n");
            //写入部分数组
            //荣下标3开始,写入3个字符
            out.write(chars,3,3);
            out.write("\n");
            out.write("没有对象不会new一个吗");
            out.flush();
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            if (out != null) {
                try {
                    out.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

输出:

FileReader与FileWriter

同理,要是写入的路径上没有文件的话会创建文件!

FileReader与FileWriter执行拷贝

  • 只能拷贝普通文本文件
  • 利用fileReader与Filewriiter文件进行读和写
  • 一边读一边写
  • java文件也是普通文本文件
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class CopyTest02 {
    public static void main(String[] args) {
        FileReader fr=null;
        FileWriter fw=null;
        try {
           //创建一个输入流
            fr = new FileReader("D:/JAVATest/filewrite");
            //创建一个输出流
            fw = new FileWriter("D:/JAVATest/copy02");
            char[] chars=new char[6];
            int readCount=0;
            while ((readCount=fr.read(chars))!=-1){
                fw.write(chars);
            }
            fw.flush();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            if (fr != null) {
                try {
                    fr.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            if (fw != null) {
                try {
                    fw.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

输出;

FileReader与FileWriter

Original: https://www.cnblogs.com/lingstar/p/16506271.html
Author: 星余明
Title: FileReader与FileWriter

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/594110/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 计算机硬件的读写速度差异

    现代计算机系统 存储器 寄存器 CPU时钟周期 高速缓存 主存 固态硬盘 机械硬盘 压榨CPU性能带来的问题 有序性问题 可见性问题 原子性问题 作者:小牛呼噜噜 | https:…

    Java 2023年6月15日
    082
  • ReentrantLock 公平锁源码 第1篇

    ReentrantLock 1 这篇还是接着ReentrantLock的公平锁,没看过第0篇的可以先去看上一篇https://www.cnblogs.com/sunankang/p…

    Java 2023年6月6日
    090
  • 替代反射调用的几种方式及性能测试

    园子里和这个话题的相关文章比较多,本文是旧话重提,外加个小的总结。主要因为近期看到很多同事、朋友都已经使用 VS2012 进行 .NET 4.5 开发了,却还在大量使用反射,不知道…

    Java 2023年5月30日
    082
  • 木头人の狂想

    我看见太阳,它很热我看见天空,它很蓝我看见湖水,它很清我看见风,它兴高采烈我看见垂柳,它正随风一起跳舞 太阳问,我如此绚烂,为何你却感觉不到温暖?心在黑夜 你未曾照耀 天空问,如此…

    Java 2023年6月5日
    079
  • SpringBoot的自动配置实现和介绍

    自动配置实现逻辑 –> 约定大于配置 在spring4.0时提出了 Condition相关注解, Condition相关注解可以让用户提供一个判断条件,从而返回t…

    Java 2023年5月30日
    073
  • Spring Authorization Server授权服务器入门

    11月8日Spring官方已经强烈建议使用 Spring Authorization Server替换已经过时的Spring Security OAuth2.0,距离 Spring…

    Java 2023年5月30日
    0104
  • 听说你对explain 很懂?

    explain所有人都应该很熟悉,通过它我们可以知道SQL是如何执行的,虽然不是100%管用,但是至少大多数场景通过explain的输出结果我们能直观的看到执行计划的相关信息。 早…

    Java 2023年6月13日
    072
  • 程序员你的maven多模块项目如何对外输出为一个构件?

    上图为常见的台式机,程序员,你看了有啥启发? 台式机生产线 我的maven代码工程 xxx 显示器 xxx-web 主机 xxx-app 键盘 xxx-domian 鼠标 xxx-…

    Java 2023年6月8日
    088
  • 从IO到netty

    一、pageCache 1.FileOutputStream与BufferedOutputStream的主要区别 系统&#x8C…

    Java 2023年6月9日
    092
  • 隐私计算FATE-模型训练

    一、说明 本文分享基于 Fate 自带的测试样例,进行 纵向逻辑回&a…

    Java 2023年6月6日
    097
  • 两天两夜,1M图片优化到100kb!

    坦白从宽吧,我就是那个花了两天两夜把 1M 图片优化到 100kb 的家伙——王小二! 自从因为一篇报道登上热搜后,我差点抑郁,每天要靠 50 片安眠药才能入睡。 网络上曝光的那些…

    Java 2023年6月9日
    080
  • java中Random类的使用

    Random类用来生成随机数字 Random类的使用步骤 导包 import java.util.Random; 创建对象 Random r = new Random(); 使用 …

    Java 2023年6月7日
    0109
  • java基础之运算符的优先级

    运算符的优先级(从高到低) 优先 描述 运算符 1 括号 ()、[] 2 正负号 +、- 3 自增自减,非 ++、–、! 4 乘除,取余 、/、%* 5 加减 +、- …

    Java 2023年6月6日
    071
  • spring事务,TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();

    转载自(https://blog.csdn.net/weixin_30699831/article/details/96672476) 在aop配置事务控制或注解式控制事务中,tr…

    Java 2023年5月30日
    095
  • Java中的List<Integer>里有可能存String类型元素吗?

    这其实是我遇到的一个线上bug,在这里分享给大家。 如果是用反射,那就很简单了,毕竟泛型只是在编译期进行约束,对运行期是无能为力的。 想想看,如果不使用反射,有没有办法做到呢? 问…

    Java 2023年6月9日
    096
  • Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十八):注册中心(Spring Cloud Consul)

    什么是 Consul Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置。与其它分布式服务注册与发现的方案,Consul 的方案更&#82…

    Java 2023年5月30日
    0174
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球