首页 > 编程语言 >java学习日记-字符流

java学习日记-字符流

时间:2024-06-03 22:44:22浏览次数:28  
标签:字符 java fw 文件名 len 操作 new 日记

字符流

字符流的简介

  • 字符流不同于字节流,字符流一般用于文本的操作
  • 字符流的主要操作数据类型是char

字符流的操作

1. 字符流是一个资源对象,在操作后需要对其进行close

Reader fr = new FileReader("文件名");
Writer fw = new FileWriter("文件名");
创建对象,注意writer对象若是想要追加进去,而不是每次写入时都是覆盖,就需要加一个参数
Writer fw = new FileWriter("文件名",true);

2. 注意异常的处理,可以使用try-with-resource来解决

try (
            Reader fr = new FileReader("文件名");
            Writer fw = new FileWriter("文件名");
        ){
            
        } catch (Exception e){
            e.printStackTrace();
        }

try后面跟着的小括号可以用来防止资源对象,即实现了抽象类AutoCloseable的资源对象(需要释放资源

3. 对文件进行读取操作 读取全部的内容

            char[] buf = new char[3];
            int len;
            while ((len = fr.read(buf))!=-1){
                System.out.print(new String(buf,0,len));
            }

while的括号里的判断条件是len取值然后对le内进行判断值

4. 对文件进行写操作

            fw.write("你好");
            fw.write('了');//算一个字符
            fw.write("我是谁,你谁说",0,3);//从0开始,写入三个字符

注意事项 写字符操作,字符输出流写出数据后,必须刷新流,或者关闭流,写出去的数据才能生效
关闭流 close() 刷新流 flush()

标签:字符,java,fw,文件名,len,操作,new,日记
From: https://www.cnblogs.com/baiiIkj/p/18229850

相关文章

  • JAVA周总结6.3
    从5.23号开始,学习了很多知识,现在来整理一下。5月23日一.键盘录入Scanner,1,整数录入:inti=sc.nextInt();2,字符串:Stringstr=sc.next();3,判断:Booleanbon=sc.nextBoolean();4,小数:doubledob=sc.nextDouble();3和4不是很常用。二.if和elseif,else的使用if(条......
  • Java中的键盘输入类Scanner包的用法
    在Java中,Scanner类是java.util包下的一个实用类,它提供了一种方便的方法来解析从各种输入源(如文件、字符串或控制台)读取的原始数据。Scanner类使用了正则表达式来解析输入的数据,因此它非常强大且灵活。以下是一些使用Scanner类的常见场景和示例:1.从控制台读取输入impo......
  • JAVA学习笔记6
    学习目标:精通JAVA学习内容:1.方法调用packagecn.itcast.day04.demo02;/*publicclassDemo01Method{publicstaticvoidmain(String[]args){for(intj=1;j<5;j++){for(inti=1;i<20;i++){System.out.print(“*”);}System.out.println();}}}......
  • 前缀和解决字符串变化问题
    题目小苯有一个长度为\(n\)的字符串\(s\),每次操作他可以选择一个位置的字母将其的大小写反转,也就是说如果字符是小写,则操作后会变成大写,如果字符是大写则反之。他现在希望将\(s\)变为:“前面若干字符是大写,后面的字符全是小写”的样子,例如:"AABBccdd"。(注意:全大写和全小写均不合法......
  • java使用百度地图接口校验收货地址是否超出配送范围
    1.地理编码API服务地址:https://api.map.baidu.com/geocoding/v3/?address=北京市海淀区上地十街10号&output=json&ak=您的ak&callback=showLocationMapmap=newHashMap();map.put("address",shopAddress);map.put("output","......
  • 关于java类型转换题目
    publicclasstest2{publicstaticvoidmain(String[]args){System.out.println(zh(123));df();ca();longToInt();ByteToShort();booleanToString();conversion();FloatToDouble();IntToCha......
  • java 线程池 Executors原生三大方法
    packagecom.chen.pool;importjava.util.concurrent.ExecutorService;importjava.util.concurrent.Executors;publicclassTest1{publicstaticvoidmain(String[]args){//平时我们创建一些类使用工具类操作s//总数可以管理//线程池Executors原生三大方法......
  • 【精品毕设】基于JavaEE的线上考试系统设计实现(包含源码和论文)
    摘 要随着计算机技术的迅猛发展,学校教学和管理的信息化发展也有长足的进步,这就要求各个环节都均衡发展,从软硬件双方面把学校建设成一流的信息管理、教育教学的平台。本文设计开发的考试管理系统也是其中重要的一个方面。该系统本着减轻教师工作负担、提高工作效率、优化学生......
  • java毕业设计之网上书城系统(ssm项目源码+LW+PPT)
    1项目介绍本系统主要包括管理员和用户;主要包括:个人中心、用户管理、图书类型管理、热卖图书管理、管理员管理、系统管理、订单管理等功能的管理系统。2、项目技术项目后端框架:Java+ssm项目前端框架:vue2,ssm3、开发环境ssm+vue环境说明:环境说明:开发语言:java框架:ssm......
  • java毕业设计之校园旧书交易交换平台(ssm项目源码+LW+PPT)
    1项目介绍本系统主要包括以下功能模块:主页、个人中心、学生管理、发布人管理、书籍分类管理、书籍信息管理、交易信息管理、交换信息管理、系统管理等模块,通过这些模块的实现能够基本满足日常校园旧书交易交换的操作。2、项目技术项目后端框架:Java+ssm项目前端框架:vue......