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

马鞍山网站建设报价天天seo百度点击器

马鞍山网站建设报价,天天seo百度点击器,设计类专业考公务员,南京学网站建设一.概念 以内存为基准,把内存中的数据以字符形式写出到文件中 二.构造器 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.dt0577.cn/news/21791.html

相关文章:

  • xp怎么做网站服务器广州seo团队
  • 上海高端seo公司seo优化一般多少钱
  • 网站制作的核心是什么最近的头条新闻
  • 二维码制作appseo是什么意思新手怎么做seo
  • 网站建设客服话术万网域名
  • wordpress发布文章 发布seo助理
  • 长治网站制作的流程山东潍坊疫情最新消息
  • 好用的cms网站广告优化
  • 柚段子wordpresswin7优化大师免安装版
  • vs设置网站开发环境广西seo优化
  • 法院举报网站建设的要求百度下载app下载安装到手机
  • 网站解决访问量超载做网站推广公司
  • 手机做网站用什么软件日本域名注册网站
  • 学软件工程专业后悔了seo排名优化推广
  • 请人开发一个小程序要多少钱seo主要做哪些工作
  • 哈尔滨公共资源交易网建设工程烟台seo快速排名
  • 北京新闻网站百度指数指的是什么
  • 大型网站建设设备seo权重优化软件
  • 网站运营课程网络软营销
  • 千图网免费素材图库ppt排名优化
  • 科技公司网站设百度小说排行榜完本
  • 做网站为什么能赚钱吗许昌seo推广
  • 汉中免费做网站公司设计本网站
  • wordpress 附件占用id优化方案电子版
  • 长春招聘网官网app优化排名
  • wordpress时间几天前攀枝花seo
  • 我想花钱做网站百度seo算法
  • 玉林住房和城乡规划建设委员会网站免费推广网站大全
  • 大良营销网站建设流程免费加客源
  • cdn网络对网站开发有影响吗企业官方网站有哪些