当前位置: 首页 > news >正文

票务网站建设电子电路自学网站

票务网站建设,电子电路自学网站,插件 wordpress,怎么在百度搜到自己的网站一.概念 以内存为基准,把内存中的数据以字符形式写出到文件中 二.构造器 public FileWriter(Filefile) 创建字节输出流管道与源文件对象接通 public FileWriter(String filepath) 创建字节输出流管道与源文件路径接通 public Filewriter(File file,boolean append) …

一.概念

以内存为基准,把内存中的数据以字符形式写出到文件中

二.构造器

public FileWriter(Filefile)
创建字节输出流管道与源文件对象接通


public FileWriter(String filepath)
创建字节输出流管道与源文件路径接通


public Filewriter(File file,boolean append)
创建字节输出流管道与源文件对象接通,可追加数据


public FileWriter(String filepath,boolean append)
创建字节输出流管道与源文件路径接通,可追加数据

三.方法

void write(int c)
写一个字符


void write(String str)
写一个字符串


void write(String str,int off,int len)
写一个字符串的一部分


void write(char【】cbuf)
写入一个字符数组


void write(char【】cbuf,int off,int len)
写入字符数组的一部分

四.代码

package org.example;import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;public class day07 {public static void main(String[] args) {try ( //用多态Writer fw = new FileWriter("d:/temp/day05/test1.txt");){//1.写一个字符fw.write('c');fw.write('家');//2.写一个字符串fw.write("故乡");//3.写字符串的一部分fw.write("海浪啊,我的家",0,3);//4.写字符数组char[] buffer = {'和','平'};fw.write(buffer);//5.写字符数组的一部分,和上面写字符串的一部分一样} catch (Exception e) {e.printStackTrace();}}
}

五.问题

该代码在执行中会把原文件内容删了,和前面讲的字节输入流一样,该代码执行多次,里面的内容不会追加,解决方案,在字符输出流后面加true

六.解决方法

1.代码

package org.example;import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;public class day07 {public static void main(String[] args) {try ( //用多态Writer fw = new FileWriter("d:/temp/day05/test1.txt",true);){//1.写一个字符fw.write('c');fw.write('家');//2.写一个字符串fw.write("故乡");//3.写字符串的一部分fw.write("海浪啊,我的家",0,3);//4.写字符数组char[] buffer = {'和','平'};fw.write(buffer);fw.write("\r\n");//5.写字符数组的一部分,和上面写字符串的一部分一样} catch (Exception e) {e.printStackTrace();}}
}

2.结果

 

七.注意事项

字符输出流写出数据后,必须刷新流,或者关闭流,写出去的数据才能生效

前面我们写的代码用的是try-with-resource 使用资源完毕会自动关闭流

如果我们不用try-with-resouce,使用完资源也不关闭流结果会是什么?

1.代码

package org.example;import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;public class day08 {public static void main(String[] args) throws IOException {Writer fw = new FileWriter("d:/temp/day05/test3.txt");fw.write("你的名字");}
}

2.结果

你会发现该文件下什么都没有写入

原因:

        IO流每次读写数据都需要进行系统调用,才可以把数据读写到文件中

当我们使用文件字符输出流写出数据,每一次系统调用都会耗费系统性能,导致性能很差。

        文件字符输出流优化了此问题,当我们创建文件字符输出流的时候,会在内存中分配一块缓冲区,在我们用文件字符输出流写出数据的时候,数据并没有写到文件里,而是把数据先写到缓冲区里,这样速度会很快,等数据全都写到缓冲区,掉用刷新流或者关闭流,才进行系统调用,把缓冲区的数据同步到文件中。上面代码既没有调用刷新流,也没有调用关闭流,所以缓冲区的数据无法同步到文件里。

3.调用刷新流或关闭流

(建议用关闭流,这里我们演示刷新流,因为关闭流我们之前演示了好多次)

package org.example;import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;public class day08 {public static void main(String[] args) throws IOException {Writer fw = new FileWriter("d:/temp/day05/test3.txt");fw.write("你的名字");fw.flush();//刷新流}
}

4.结果

在Java中,刷新流和关闭流是两个不同的概念,具有不同的作用。

刷新流(flushing stream)是指将缓冲区中的数据强制输出,以确保数据能够及时写入目标位置。刷新流主要用于确保数据的完整性和一致性。例如,在使用OutputStream或Writer写入数据时,它们通常会使用缓冲区来提高写入效率。但是,如果在缓冲区未满时需要立即写入数据,或者需要在关闭流之前确保所有数据都已经写入,就需要使用flush方法来强制刷新缓冲区。

关闭流(closing stream)是指关闭流并释放与该流相关联的系统资源。关闭流是必要的,因为在程序使用完流之后,如果不关闭流,可能会导致资源泄漏或其他问题。在关闭流之后,流就不能再被使用或恢复。在Java中,关闭流通常使用close方法来实现。

因此,刷新流和关闭流的主要区别在于:刷新流是强制输出缓冲区中的数据,以确保数据的完整性和一致性;而关闭流是释放与流相关的系统资源,以避免资源泄漏和其他问题。通常建议在使用完流之后立即关闭流,以确保资源的正确释放。

http://www.yayakq.cn/news/259886/

相关文章:

  • 重庆触摸屏_电子商务网站建设代理网站下载
  • 挣钱最快的小游戏抖音seo优化
  • 北京建设银行对公网站广州网站建设方案维护
  • 杭州行业网站建设wordpress 实现吐槽 插件
  • 网站即将上线 模板绵阳建设网
  • 奉化市建设局网站网站建设服务代理
  • 专业做网站网络酒店 深圳 网站建设
  • 网站建设的客户需求调查与分析做公司网站的服务费入什么费用
  • 网站到期域名怎么解决公司logo查询网站
  • 普通网站成微网站开发14亿有多少中国人打了新冠疫苗
  • 做网站ps切图3如何做网站推广
  • 网站主机是服务器吗欧米茄官方网站
  • 比较大气的企业网站经三路专业做网站
  • 昆明网站建设兼职网站建设教程搭建浊贝湖南岚鸿给力
  • 网站页面 原则微信公众平台登录入口官网
  • 专业的建站重复建设政务网站
  • 上海土地建设官方网站珠海企业落户申请网站
  • 陕西省建设信息网站西安市阎良区建设局网站
  • 高端网站开发找哪家好长治视频制作
  • 免费网站成品wordpress加速会主题曲
  • 广州做网站 信科便宜做网站卖产品怎么开展
  • 营销型网站建设及推广百度快照优化seo
  • 相城专业的网站建设个人网站制作体会
  • 网站开发总结如何申请域名和ip地址
  • 做网站的常识怎么对网站标注做记号
  • 新网网站wordpress cdc
  • 水库信息化网站建设公司网站现状
  • 泰州网站制作软件手机网站 滑动翻页
  • 武夷山网站建设百度推广投诉中心
  • 泗阳做网站公司合众商道网站开发