java文本写入方法(PrintStream,FileWriter,BufferedWriter)
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)相关推荐
- win10系统怎么写java_win10系统制作java文本的操作方法
很多小伙伴都遇到过对 具体方法如下: 1.首先我们点击电脑桌面左下角的菜单; 2.接着在弹出的菜单栏里,我们点击最下方的[所有应用]; 3.然后我们会看到更为详细的菜单栏,接着我们通过 4.接下来点开 ...
- win10java记事本运行_win10系统制作java文本的操作方法
很多小伙伴都遇到过对win10系统制作java文本进行设置的困惑吧,一些朋友看过网上对win10系统制作java文本设置的零散处理方法,并没有完完全全明白win10系统制作java文本的操作方法非常简 ...
- java文件写入不覆盖_java写入文件不覆盖写入_Java写入文件–用Java写入文件的4种方法...
java写入文件不覆盖写入 Java provides several ways to write to file. We can use FileWriter, BufferedWriter, ja ...
- java的flush方法_Java中的BufferedWriter flush()方法及示例
Java中buffered writer类的flush()方法用于刷新缓冲的writer流中的字符.语法:公共void flush()指定者:此方法由Flushable接口的flush()方法指定.重 ...
- Java文件写入的6种方法
写程序时经常会碰到读写文件的场景,在Java中操作文件的方法本质上只有两种:字符流和字节流,而他们的实现类又有很多,因此,有时候用起来,就会比较乱. 这篇文章系统介绍了Java操作文件的几种方式,学习 ...
- JAVA文件写入FileWriter
JAVA文件写入FileWriter 导包import java.io.FileWriter创建构造方法public FileWrite(String filename),参数是文件的路径及文件名(默 ...
- Java程序完形填空题_moodle中的完形填空题的文本编写方法
moodle中的完形填空题的文本编写方法 [完形填空题]考题把一段文字挖去一些空,让考生根据上下文正确地完成这些填空.完型填空题中的一段短文可以包括各种题目,如选择,填空,和数字题等. 题目的编辑是在 ...
- Java使用 PDFBox创建 PDF 文件并将文本写入其中
在本 PDFBox 教程中,我们将了解如何使用 PDFBox 2.0 创建 PDF 文件并将文本写入其中.我们将在此过程中逐步了解. 以下是使用 PDFBox 2.0 创建文本并将其写入 PDF 文件 ...
- java 替换 word_Java 在 Word 文档中使用新文本替换指定文本的方法
创作一份文案,经常会高频率地使用某些词汇,如地名.人名.人物职位等,若表述有误,就需要整体撤换.文本将介绍如何使用Spire.Doc for Java,在Java程序中对Word文档中的指定文本进行替 ...
最新文章
- 转:【AI每日播报】从TensorFlow到Theano:横向对比七大深度学习框架
- appiumpython框架实例_Appium+python 框架 (二)
- @JVM内存模型(运行时数据区)
- C++类中静态变量和静态方法使用介绍!
- java积分签到功能_对于签到功能的一点理解
- openwrt USB热插拔(hotplug)
- Python描述 LeetCode 8. 字符串转换整数 (atoi)
- 迅雷对电驴资源的限制
- 相见恨晚的5个资源网站 影视音乐资源随你看
- 重邮内网外入及其最新版创翼下载
- 深富策略:成交量放大 短线反弹仍有望延续
- 一方库、二方库、三方库 概念
- python二级考试14问(关于真正考试的时候的相关问题)
- css sass的@mixin 与 @include引用
- React Native专题-江
- 如何将视频压缩?快来看看这些方法
- Race Conditions/条件竞争
- M5202高品质线性充电芯片可替TP4056
- 问卷星自动填写python selenium脚本(2021vim版,亲测有效,看这一篇就够了)
- 前端 js 将字符串类型转换成其他类型
热门文章
- 【Markdown】Markdown插入图片的完美解决方法
- hive跑mr时报错,java.lang.IllegalArgumentException: The value of property yarn.resourcemanager.zk-address
- 解决The authenticity of host can’t be established ECDSA key fingerprint is SHA256
- 18.Oracle10g服务器管理恢复--RMAN备用数据库(练习31.32)
- 数字示波器CAN节点标定
- latex中文编号是问号的问题
- mysql取前一个月时间戳_mysql中获取一天、一周、一月时间数据的各种sql语句写...
- 用Chrome浏览器模拟手机,android,iphone,ipad访问网站
- PlatoFarm几大创新经济模型,给予当下元宇宙市场的启发
- 网卡的 Ring Buffer 详解