首页 > 其他分享 >IO流--字符流写数据

IO流--字符流写数据

时间:2023-04-06 17:32:28浏览次数:41  
标签:字符 fw -- void write IO 流写 FileWriter 数据



IO流是用来处理设备之间的数据传输的,诸如:文件的复制,上传下载文件

Java中的流可以从不同的角度进行分类:

- 按照流的方向不同:分为输入流和输出流。

- 按照处理数据单位的不同:分为字节流和字符流。

- 按照功能不同:分为节点流和处理流



要区分字符流和字节流,我们可以从类名来区分


类名中包含Reader:字符流  输入流

类名中包含Writer:字符流  输出流

类名中包含Input:字节流  输入流

类名中包含Output:字节流  输出流

包含Stream:字节流


今天着重来看下字符流.

Write顾名思义就是写的意思,FileWriter(String fileName) 指的是传递一个文件的名称

成员方法:

void write(String str) 往文件中写入一个字符串

void flush() 刷新该流的缓冲,把内存缓冲区中的数据刷新到新的文件中去

void close() 关闭此流,但是要先刷新它


输出流写数据的一般步骤(也是最基本的步骤)

1.创建输出流对象

2.调用输出流对象写数据的方法

3.刷新缓存,写入文件

4.释放资源.


举例:

import java.io.FileWriter;import java.io.IOException;public class DemoFileWriter {public static void main(String[] args) throws IOException {//1.创建输出流对象,导包和抛出异常(此次为演示,不解决异常)FileWriter fw = new FileWriter("a.txt");/*** 创建输出流对象做了如下几件事情* A.调用系统资源创建了一个文件a.txt* B.创建了输出流对象* C.把输出流对象指向文件*///2.调用输出流对象写数据的方法write()  写一个字符串fw.write("IO流大法好");/** 3.此时数据是写在了缓存中,所以需要做接下来的第三步,刷新缓存.*/fw.flush();//4.通知系统释放资源,释放之后再调用writer() 就没有作用了fw.close();}}


这里需要区分关闭close()和刷新flush()方法的区别.

1.flush(); 刷新缓冲区,刷新后流对象还可以继续用

2.close(); 释放资源,在释放前会强制刷新缓冲区.释放后流对象就不能再使用了.


FileWriter写数据的5个方法:

1.写一个字符串数据   void write(String str);

2.写一个字符串中的一部分数据,index开始索引,len表示写几个 ,void write(String str, int len);

3.写一个字符数据, void write(int ch)  这里之所以用int,是因为char类型的数据也对应着int数值.比如

'a'  97

4.写一个字符数组的数据 void write(char[] chs);

5.写一个字符数组的一部分数据,index:开始索引,len写几个 void write(char[] chs,int index,int len);

举个栗子:

import java.io.FileWriter;import java.io.IOException;public class DemoFileWriter {public static void main(String[] args) throws IOException {//1.创建输出流对象,导包和抛出异常(此次为演示,不解决异常)FileWriter fw = new FileWriter("a.txt");// 写入一个字符串数据 void write(String str);fw.write("abcde");//写一个字符串中的一部分数据fw.write("abcde",1,3);//写一个字符数组数据char[] chs = {'a','b','c','d'};fw.write(chs);//写完数据不要忘记刷新和关闭,要不然文件里会没有数据fw.flush();fw.close();}}

如果需要在文件中添加换行怎么办呢?

Windows中的换行: \r\n

linux 中 的换行 \n


这就是关于IO流写数据的内容,下次分享字符流读数据的内容.


本文出自 “xinsz08の平行时空” 博客,请务必保留此出处http://xinsz08.blog.51cto.com/10565212/1941451


标签:字符,fw,--,void,write,IO,流写,FileWriter,数据
From: https://blog.51cto.com/zmedu/6173861

相关文章

  • 恒创科技:如何正确配置美国网络服务器?
    在使用美国网络服务器时,充分注意其配置对于确保服务器和网络的性能、稳定性和安全性至关重要。网络服务器配置是指设置和配置网络服务器的硬件和软件以使其启动和运行的过程。它涉及多个步骤,包括配置操作系统、网络协议、安全设置、用户访问、共享资源和网络服务。配置美......
  • C#-DevExpress改变表格行颜色
    改变行颜色通过行样式进行设置,这里使用了一个转换器,可以根据表格单元格数据满足不同条件时,将行的背景色设置为不同的颜色,参考部分代码如下:xmlns:dxg:"http://schemas.devexpress.com/winfx/2008/xaml/grid"<dxg:TableView><dxg:TableView.RowStyle><StyleTarget......
  • 进制转换,base可能为负数
    0x01特殊:base=-2LeetCode0x02前置知识:c++%规则我们需要知道,在\(C\)++中,余数的符号取决于被除数,也即,a%b=c中\(c\)的符号取决于\(a\)的符号,即,\(a\)是什么符号,\(c\)就是什么符号,与\(b\)的符号无关。inta[4]={11,11,-11,-11};intb[4]={2,-2,2,-2};f......
  • 2.八数码二(IDA*)
    原题链接:https://www.acwing.com/problem/content/4231///IDA*#include<iostream>#include<cstring>#include<algorithm>#include<unordered_map>#include<queue>#include<cmath>usingnamespacestd;#definexfirst#defineys......
  • 小程序容器助力企业小程序开放平台打造
    近年来,超级APP逐渐崛起,各大互联网巨头纷纷推出小程序开放平台。在此背景之下,是否需要实现自己的小程序开放平台?又该如何实现?这些问题困扰着很多公司。作为当前市面上商业化程度最高的小程序容器技术,FinClip帮助多家大型企业成功构建起小程序开放平台。以下通过某云盘APP为例,简单......
  • 常见网站优化误区,避免让您的网站被降权
    网站优化已经成为了各行各业不可或缺的一部分。然而,对于很多网站管理员来说,网站优化却是一件难以理解的事情。他们可能会在优化过程中犯一些错误,这些错误会导致搜索引擎降权,甚至被搜索引擎彻底封杀。本文将介绍一些常见的网站优化误区,帮助您避免这些错误,保持网站的良好排名。一......
  • vue之数组的方法
    目录简介filter方法简介本文会把遇到的数组的方法慢慢补充进来filter方法filter()方法是一个过虑方法以下面的为例:列表dataList会每次取一个值,把值给匿名函数,并执行。比如第一次过虑会把a给dataList.filter(function(items){xxxx},第二次会把at传给函数,后面依次类推。<s......
  • MySQL(十二)索引使用的情况分析
    索引使用的情况分析数据准备创建表student_info、courseCREATETABLE`student_info`(`id`intNOTNULLAUTO_INCREMENT,`student_id`intNOTNULL,`name`varchar(20)DEFAULTNULL,`course_id`intNOTNULL,`class_id`intDEFAULTNULL,`create_tim......
  • 10-springcloud-eureka-6-Eureka 与 Zookeeper 的比较
    Eureka与Zookeeper的比较著名的CAP理论指出,一个分布式系统不可能同时满足C(一致性)、A(可用性)和P(分区容错性);由于分区容错性在是分布式系统中必须要保证的,因此我们只能在A和C之间进行权衡,在此Zookeeper保证的是CP,而Eureka则是AP。Zookeeper保证CP在Z......
  • hive 数据仓库分层
    1:为什么要分层 大多数情况下,我们完成的数据体系却是依赖复杂、层级混乱的。如下图,在不知不觉的情况下,我们可能会做出一套表依赖结构混乱,甚至出现循环依赖的数据体系我们需要一套行之有效的数据组织和管理方法来让我们的数据体系更有序,这就是谈到的数据分层。数据分层并不能解......