PrintStream(字节打印流)

PrintStream 是打印输出流,它继承于FilterOutputStream。
PrintStream 永远不会抛出 IOException;它产生的IOException会被自身的函数所捕获并设置错误标记, 用户可以通过 checkError() 返回错误标记,从而查看PrintStream内部是否产生了IOException。
PrintStream 提供了自动flush 和 字符集设置功能。所谓自动flush,就是往PrintStream写入的数据会立刻调用flush()函数。

 public void WriteStringToFile(String text,String filename) {try {File file = new File("C:/Users/Administrator/Desktop/硕士论文对比/博士1_TextCut/" + filename);PrintStream ps = new PrintStream(new FileOutputStream(file));ps.append("text");ps.append("12345");ps.close();} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}}

java.io.PrintStream.append() :将指定字符追加到当前输出流。上述代码输出结果为“text123”
java.io.PrintStream.print() :将指定字符写入到当前输出流。
更改上述代码append()为print(),输出结果相同。一个是不停的追加字符到当前输出流,一个是直接写入当前输出流。

FileWriter写入

FileWriter带有缓冲区,能够减少流的使用,所有在多次写入数据的时候会有速度上的优势。

 public void WriteStringToFile1(String text,String filename) {try {File file = new File("C:/Users/Administrator/Desktop/TextCut/" + filename);FileWriter fileWriter = new FileWriter(file);fileWriter.write("asd");fileWriter.write("12345");fileWriter.flush();//FileWriter存在缓冲区,在最后要释放缓冲区的内容,避免还有数据停留在缓冲区里fileWriter.close();} catch (IOException e) {e.printStackTrace();}}

BufferedWriter写入

如果有非常多次的写入可以用BufferedWriter对FileWriter的缓冲区进行优化,BufferedWriter的缓冲区大小还可以进行自定义。

public void WriteStringToFile2(String text,String filename) {try {File file = new File("C:/Users/Administrator/Desktop/TextCut/" + filename);FileWriter fileWriter = new FileWriter(file);BufferedWriter bufferedWriter =new BufferedWriter(fileWriter);   //用BufferedWriter能比FileWriter更快的写入bufferedWriter .write("asd");bufferedWriter .write("12345");bufferedWriter .flush();//同样最后要释放缓冲bufferedWriter .close();} catch (IOException e) {e.printStackTrace();}}

设置BufferedWriter缓冲区大小:

//设置缓冲区大小BufferedWriter bufferedWriter =new BufferedWriter(fileWriter,1024); //在入参后多加个数字就是设置的大小啦

缓冲区并不是越大越好,太大了写入速度不一定会变快,反而还占用了资源,一般用默认就够了。

java文本写入方法(PrintStream,FileWriter,BufferedWriter)相关推荐

  1. win10系统怎么写java_win10系统制作java文本的操作方法

    很多小伙伴都遇到过对 具体方法如下: 1.首先我们点击电脑桌面左下角的菜单; 2.接着在弹出的菜单栏里,我们点击最下方的[所有应用]; 3.然后我们会看到更为详细的菜单栏,接着我们通过 4.接下来点开 ...

  2. win10java记事本运行_win10系统制作java文本的操作方法

    很多小伙伴都遇到过对win10系统制作java文本进行设置的困惑吧,一些朋友看过网上对win10系统制作java文本设置的零散处理方法,并没有完完全全明白win10系统制作java文本的操作方法非常简 ...

  3. java文件写入不覆盖_java写入文件不覆盖写入_Java写入文件–用Java写入文件的4种方法...

    java写入文件不覆盖写入 Java provides several ways to write to file. We can use FileWriter, BufferedWriter, ja ...

  4. java的flush方法_Java中的BufferedWriter flush()方法及示例

    Java中buffered writer类的flush()方法用于刷新缓冲的writer流中的字符.语法:公共void flush()指定者:此方法由Flushable接口的flush()方法指定.重 ...

  5. Java文件写入的6种方法

    写程序时经常会碰到读写文件的场景,在Java中操作文件的方法本质上只有两种:字符流和字节流,而他们的实现类又有很多,因此,有时候用起来,就会比较乱. 这篇文章系统介绍了Java操作文件的几种方式,学习 ...

  6. JAVA文件写入FileWriter

    JAVA文件写入FileWriter 导包import java.io.FileWriter创建构造方法public FileWrite(String filename),参数是文件的路径及文件名(默 ...

  7. Java程序完形填空题_moodle中的完形填空题的文本编写方法

    moodle中的完形填空题的文本编写方法 [完形填空题]考题把一段文字挖去一些空,让考生根据上下文正确地完成这些填空.完型填空题中的一段短文可以包括各种题目,如选择,填空,和数字题等. 题目的编辑是在 ...

  8. Java使用 PDFBox创建 PDF 文件并将文本写入其中

    在本 PDFBox 教程中,我们将了解如何使用 PDFBox 2.0 创建 PDF 文件并将文本写入其中.我们将在此过程中逐步了解. 以下是使用 PDFBox 2.0 创建文本并将其写入 PDF 文件 ...

  9. java 替换 word_Java 在 Word 文档中使用新文本替换指定文本的方法

    创作一份文案,经常会高频率地使用某些词汇,如地名.人名.人物职位等,若表述有误,就需要整体撤换.文本将介绍如何使用Spire.Doc for Java,在Java程序中对Word文档中的指定文本进行替 ...

最新文章

  1. 转:【AI每日播报】从TensorFlow到Theano:横向对比七大深度学习框架
  2. appiumpython框架实例_Appium+python 框架 (二)
  3. @JVM内存模型(运行时数据区)
  4. C++类中静态变量和静态方法使用介绍!
  5. java积分签到功能_对于签到功能的一点理解
  6. openwrt USB热插拔(hotplug)
  7. Python描述 LeetCode 8. 字符串转换整数 (atoi)
  8. 迅雷对电驴资源的限制
  9. 相见恨晚的5个资源网站 影视音乐资源随你看
  10. 重邮内网外入及其最新版创翼下载
  11. 深富策略:成交量放大 短线反弹仍有望延续
  12. 一方库、二方库、三方库 概念
  13. python二级考试14问(关于真正考试的时候的相关问题)
  14. css sass的@mixin 与 @include引用
  15. React Native专题-江
  16. 如何将视频压缩?快来看看这些方法
  17. Race Conditions/条件竞争
  18. M5202高品质线性充电芯片可替TP4056
  19. 问卷星自动填写python selenium脚本(2021vim版,亲测有效,看这一篇就够了)
  20. 前端 js 将字符串类型转换成其他类型

热门文章

  1. 【Markdown】Markdown插入图片的完美解决方法
  2. hive跑mr时报错,java.lang.IllegalArgumentException: The value of property yarn.resourcemanager.zk-address
  3. 解决The authenticity of host can’t be established ECDSA key fingerprint is SHA256
  4. 18.Oracle10g服务器管理恢复--RMAN备用数据库(练习31.32)
  5. 数字示波器CAN节点标定
  6. latex中文编号是问号的问题
  7. mysql取前一个月时间戳_mysql中获取一天、一周、一月时间数据的各种sql语句写...
  8. 用Chrome浏览器模拟手机,android,iphone,ipad访问网站
  9. PlatoFarm几大创新经济模型,给予当下元宇宙市场的启发
  10. 网卡的 Ring Buffer 详解