java写入文件不覆盖写入

Java provides several ways to write to file. We can use FileWriter, BufferedWriter, java 7 Files and FileOutputStream to write a file in Java.

Java提供了几种写入文件的方法。 我们可以使用FileWriter , BufferedWriter ,java 7 Files和FileOutputStream用Java编写文件。

Java写入文件 (Java Write to File)

Let’s have a brief look at four options we have for java write to file operation.

让我们简要地看一下java写入文件操作的四个选项。

  1. FileWriter: FileWriter is the simplest way to write a file in Java. It provides overloaded write method to write int, byte array, and String to the File. You can also write part of the String or byte array using FileWriter. FileWriter writes directly into Files and should be used only when the number of writes is less.FileWriter :FileWriter是用Java编写文件的最简单方法。 它提供了重载的write方法,可以将int,字节数组和String写入File。 您也可以使用FileWriter编写String或byte数组的一部分。 FileWriter直接写入文件,仅在写入次数较少时才应使用。
  2. BufferedWriter: BufferedWriter is almost similar to FileWriter but it uses internal buffer to write data into File. So if the number of write operations is more, the actual IO operations are less and performance is better. You should use BufferedWriter when the number of write operations is more.BufferedWriter :BufferedWriter与FileWriter几乎相似,但是它使用内部缓冲区将数据写入File。 因此,如果写入操作的数量更多,则实际的IO操作会更少,而性能会更好。 当写入操作的数量更多时,应使用BufferedWriter。
  3. FileOutputStream: FileWriter and BufferedWriter are meant to write text to the file but when you need raw stream data to be written into file, you should use FileOutputStream to write file in java.FileOutputStream :FileWriter和BufferedWriter旨在将文本写入文件,但是当您需要将原始流数据写入文件时,应使用FileOutputStream在Java中写入文件。
  4. Files: Java 7 introduced Files utility class and we can write a file using its write function. Internally it’s using OutputStream to write byte array into file.Files :Java 7引入了Files实用程序类,我们可以使用其write函数编写文件。 在内部,它使用OutputStream将字节数组写入文件。

Java写入文件示例 (Java Write to File Example)

Here is the example showing how we can write a file in java using FileWriter, BufferedWriter, FileOutputStream, and Files in java.

这是显示如何在Java中使用FileWriter,BufferedWriter,FileOutputStream和Files编写文件的示例。

WriteFile.java

WriteFile.java

package com.journaldev.files;import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStream;
import java.nio.file.Files;
import java.nio.file.Paths;public class WriteFile {/*** This class shows how to write file in java* @param args* @throws IOException */public static void main(String[] args) {String data = "I will write this String to File in Java";int noOfLines = 10000;writeUsingFileWriter(data);writeUsingBufferedWriter(data, noOfLines);writeUsingFiles(data);writeUsingOutputStream(data);System.out.println("DONE");}/*** Use Streams when you are dealing with raw data* @param data*/private static void writeUsingOutputStream(String data) {OutputStream os = null;try {os = new FileOutputStream(new File("/Users/pankaj/os.txt"));os.write(data.getBytes(), 0, data.length());} catch (IOException e) {e.printStackTrace();}finally{try {os.close();} catch (IOException e) {e.printStackTrace();}}}/*** Use Files class from Java 1.7 to write files, internally uses OutputStream* @param data*/private static void writeUsingFiles(String data) {try {Files.write(Paths.get("/Users/pankaj/files.txt"), data.getBytes());} catch (IOException e) {e.printStackTrace();}}/*** Use BufferedWriter when number of write operations are more* It uses internal buffer to reduce real IO operations and saves time* @param data* @param noOfLines*/private static void writeUsingBufferedWriter(String data, int noOfLines) {File file = new File("/Users/pankaj/BufferedWriter.txt");FileWriter fr = null;BufferedWriter br = null;String dataWithNewLine=data+System.getProperty("line.separator");try{fr = new FileWriter(file);br = new BufferedWriter(fr);for(int i = noOfLines; i>0; i--){br.write(dataWithNewLine);}} catch (IOException e) {e.printStackTrace();}finally{try {br.close();fr.close();} catch (IOException e) {e.printStackTrace();}}}/*** Use FileWriter when number of write operations are less* @param data*/private static void writeUsingFileWriter(String data) {File file = new File("/Users/pankaj/FileWriter.txt");FileWriter fr = null;try {fr = new FileWriter(file);fr.write(data);} catch (IOException e) {e.printStackTrace();}finally{//close resourcestry {fr.close();} catch (IOException e) {e.printStackTrace();}}}}

These are the standard methods to write a file in java and you should choose any one of these based on your project requirements. That’s all for Java write to file example.

这些是用Java编写文件的标准方法,您应根据项目要求选择其中一种。 这就是Java写入文件示例的全部内容。

GitHub Repository.GitHub存储库中签出更多Java IO示例。

翻译自: https://www.journaldev.com/878/java-write-to-file

java写入文件不覆盖写入

java写入文件不覆盖写入_Java写入文件–用Java写入文件的4种方法相关推荐

  1. java在文件的后面添加_java 在file的尾部添加数据的两种方法总结

    java 在file的尾部添加数据的两种方法总结 问题描述: 在文件的末尾追加内容 方法1:利用RandomAccessFile类 1.将randomAccessFile模式设置为rw 2将rando ...

  2. java除法保留两位小数_JAVA除法保留小数点后两位的两种方法

    1.利用Math.round()的方法: 两个int型的数相除,结果保留小数点后两位: int a=1188; int b=93; double c; c=(double)(Math.round(a* ...

  3. java 100以内的整数和_java计算100以内的正整数和的三种方法

    方法如下: 1.暴力解法 使用for循环直接逐个求解,算法复杂度为O ( n ) O(n)O(n) /** * 暴力解法 * @param startInclusive * @param endExc ...

  4. Java运行非Web的Springboot项目(测试类或启动主类两种方法)

    Java运行非Web的Springboot项目(测试类或启动主类两种方法) 前言 一.创建打开一个Springboot项目 二.运行项目 1.Test测试类运行 2.启动主类运行 三.持续运行不停止( ...

  5. java 文件尾部_java 在file的尾部添加数据的两种方法总结

    java 在file的尾部添加数据的两种方法总结 问题描述: 在文件的末尾追加内容 方法1:利用RandomAccessFile类 1.将randomAccessFile模式设置为rw 2将rando ...

  6. java dom解析xml路径中文_Java如何基于DOM解析xml文件

    一.Java解析xml.解析xml四种方法.DOM.SAX.JDOM.DOM4j.XPath 此文针对其中的DOM方法具体展开介绍及代码分析 sax.dom是两种对xml文档进行解析的方法(没有具体实 ...

  7. java file 相对路径 根目录修改_java中使用相对路径读取文件的写法总结 ,以及getResourceAsStream() (转)...

    https://blog.csdn.net/my__sun_/article/details/74450241 读取文件的写法,相对路径 在当前的目录结构中读取test.txt的有四种写法 简单粗暴的 ...

  8. linux文件被覆盖如何恢复_在Linux下误删文件后恢复

    1.给虚拟主机添加一块磁盘,磁盘为/dev/sdb,如下: 2.格式化磁盘,并进行挂载 # mkfs.ext4 /dev/sdb # mkdir /usr/local/dbdata/ # mount ...

  9. java 窗体添加背景图片_Java Swing实现窗体添加背景图片的2种方法详解

    本文实例讲述了java Swing实现窗体添加背景图片的2种方法.分享给大家供大家参考,具体如下: 在美化程序时,常常需要在窗体上添加背景图片.通过搜索和测试,发现了2种有效方式.下面分别介绍. 1. ...

  10. java cpu利用率上不去_Java 面试突击之 Java 并发知识基础 amp; 进阶考点全解析

    版权说明:本文转自知乎用户木子超,已获其许可,附上其文章主页链接 知乎用户 一.基础 什么是线程和进程? 何为进程? 进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的.系统运行一个 ...

最新文章

  1. TF-IDF 原理及sklearn中的tf-idf实例分析
  2. PLM在企业中的实际价值与意义
  3. 飞机为什么能飞起来?直到今天,科学家仍然没有答案
  4. 《游戏编程模式》读书笔记之一
  5. iOS 13 真机调试包
  6. 进制转换,字符串,字节串之间转换
  7. linux之路由知识之ip route 命令中的疑惑
  8. Angular CDK Layoout 检测断点
  9. java开发 时间类型的转换
  10. Window.location.href命令在JS中跳转无效或自动忽略
  11. 对软件工程Alpha迭代的反思与总结
  12. 我的U盘,在某台机器上所有文件大小为0
  13. promise的理解和使用-尚硅谷教程笔记
  14. windows MD5校验命令
  15. 软件开发常用的四种模式
  16. 设计模式之备忘录模式(Memento)
  17. STM32F103 之TFT显示屏动态显示数据
  18. 学生用台灯哪个品牌比较好?推荐光照舒适的护眼台灯
  19. python repl_Python 3.8新特征之asyncio REPL
  20. 摩托罗拉Android系统,摩托罗拉Droid官方Android 2.2系统详细功能展示

热门文章

  1. WebApi系列~HttpClient的性能隐患(转)
  2. UVALive 7077 Little Zu Chongzhi's Triangles (有序序列和三角形的关系)
  3. 1588: [HNOI2002]营业额统计 - BZOJ
  4. STL源码剖析学习十四:算法之set相关算法
  5. Could not load type 'System.DateTimeOffset'的问题
  6. WAP开发资料站(最新更新)
  7. [转载] css border-collapse
  8. Vue.js 学习笔记 五 常用的事件修饰符
  9. 图片的色彩空间转换、简单色彩跟踪与通道分离、合并(三)
  10. Centos 7 Puppet之foreman介绍安装测试