下边是写东西到一个文件中的Java代码。运行后每一次,一个新的文件被创建,并且之前一个也将会被新的文件替代。这和给文件追加内容是不同的。

1、

     public static void writeFile1() throws IOException {
File fout = new File("out.txt");
FileOutputStream fos = new FileOutputStream(fout); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(fos)); for (int i = 0; i < 10; i++) {
bw.write("something");
bw.newLine();
} bw.close();
}

这个例子使用的是FileOutputStream,你也可以使用FileWriter 或PrintWriter,如果是针对文本文件的操作是完全绰绰有余的。

2、使用FileWriter

   public static void writeFile2() throws IOException {
FileWriter fw = new FileWriter("out.txt"); for (int i = 0; i < 10; i++) {
fw.write("something");
} fw.close();
}

3、使用PrintWriter

     public static void writeFile3() throws IOException {
PrintWriter pw = new PrintWriter(new FileWriter("out.txt")); for (int i = 0; i < 10; i++) {
pw.write("something"); //这里也可以用 pw.print("something"); 效果一样
} pw.close();
}

4、使用OutputStreamWriter

    public static void writeFile4() throws IOException {
File fout = new File("out.txt");
FileOutputStream fos = new FileOutputStream(fout); OutputStreamWriter osw = new OutputStreamWriter(fos); for (int i = 0; i < 10; i++) {
osw.write("something");
} osw.close();
}

摘自Java文档:

FileWriter is a convenience class for writing character files. The constructors of this class assume that the default character encoding and the default byte-buffer size are acceptable. To specify these values yourself, construct an OutputStreamWriter on a FileOutputStream.

FileWriter针对写字符文件是一个很方便的类。这个类的构造方法假设默认的字符编码和默认的字节缓冲区都是可以接受的。如果要指定编码和字节缓冲区的长度,需要构造OutputStreamWriter。

PrintWriter
prints formatted representations of objects to a text-output stream. This class implements all of the print methods found in PrintStream. It
does not contain methods for writing raw bytes, for which a program should use unencoded byte streams.

PrintWriter打印格式化对象的表示到一个文本输出流。这个类实现了所有在PrintStream中的打印方法。它不包含用于写入原始字节,因为一个程序应该使用未编码的字节流。

主要区别在于,PrintWriter提供了一些额外的方法来格式化,例如println和printf。此外,万一遇到任何的I/O故障FileWriter会抛出IOException。PrintWriter的方法不抛出IOException异常,而是他们设一个布尔标志值,可以用这个值来检测是否出错(checkError())。PrintWriter在数据的每个字节被写入后自动调用flush
。而FileWriter,调用者必须采取手动调用flush.

Java逐行写入字符串到文件的更多相关文章

  1. Java学习笔记--字符串和文件IO

    1.Java中的字符串类和字符的表示 2.区分String,StringBuilder和StringBuffer 3.从命令行中给main方法传递参数 4.文件操作 1 Java中的字符串和字符 1. ...

  2. fprintf写入字符串入文件/fread读取文件内的字符串

    #include <stdio.h> #include <string.h> #include <stdlib.h> int main(void) { FILE * ...

  3. Java:逐行读、写文件、文件目录过滤的用法

    import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.I ...

  4. Java基础知识强化之IO流笔记52:IO流练习之 把一个文件中的字符串排序后再写入另一个文件案例

    1. 把一个文件中的字符串排序后再写入另一个文件 已知s.txt文件中有这样的一个字符串:"hcexfgijkamdnoqrzstuvwybpl" 请编写程序读取数据内容,把数据排 ...

  5. java的io操作(将字符串写入到txt文件中)

    import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java ...

  6. [测试]java IO写入文件效率——几种方法比较

    各类写入方法 /** *1 按字节写入 FileOutputStream * * @param count 写入循环次数 * @param str 写入字符串 */ public void outpu ...

  7. Java字符串与文件的互转操作

    Java中有时候需要读取一个文本类的文件,将其转换为字符串,然后做进一步处理.Java中没有现成的API方法.   一.字符串转换为文件 /** * 将字符串写入指定文件(当指定的父路径中文件夹不存在 ...

  8. 学习Java AES加解密字符串和文件方法,然后写个简单工具类

    Reference Core Java Volume Ⅱ 10th Edition 1 对称加密 "Java密码扩展"包含了一个Cipher,它是所有密码算法的超类.通过getIn ...

  9. java将数据写入到txt文件中(txt有固定的格式)

    java将数据写入到txt文件中,这个应该对于学过java I/O的人来说是很简单的事情了,但是如果要将数据以固定的格式写入到txt文件中,就需要一定的技巧了. 这里举个简单的例子,以供参考: 比如我 ...

随机推荐

  1. D. Too Easy Problems

    链接 [http://codeforces.com/group/1EzrFFyOc0/contest/913/problem/D] 题意 给你n个题目,考试时间T,对于每个问题都有一个ai,以及解决所 ...

  2. 《移山之道》Reading Task——by12061154Joy

    最近因为作业的原因所以接触到了这本书,给我最特别的感觉就是很新鲜,主要是因为这本书是以故事展开的,大概是我读的书太少,基本没有看到过专业书的知识体系是用故事串讲起来的,这样帮助读者理解了一些概念并且不 ...

  3. 基于SSH框架开发的《高校大学生选课系统》的质量属性的实现

    基于SSH框架开发的<高校大学生选课系统>的质量属性的实现 对于可用性采取的是错误预防战术,即阻止错误演变为故障:在本系统主要体现在以下两个方面:(1)对于学生登录模块,由于初次登陆,学生 ...

  4. 第三个Sprint冲刺第九天(燃尽图)

  5. 《Multiplayer Game Programming》阅读笔记

    在图书馆发现一本<网络多人游戏架构与编程>-- Joshua Glazer, Sanjay Madhav 著.书挺新的,17年出版的,内容很有趣,翻一翻可以学到不少在<计算机网络&g ...

  6. jupyter notebook远程配置

    服务器端配置 在服务器生成jupyter配置文件 $jupyter notebook --generate-config 生成之后会得到配置文件的路径 启动jupyter,设置密码 In [1]: f ...

  7. 七牛云域名DV SSL证书申请流程以及CDN融合加速配置

    从2017年起,苹果ios以及微信小程序都陆续要求请求连接request地址是使用HTTPS协议的.所以在项目开发阶段就要考虑解决https的问题,同时这也是为项目实际安全所考虑.最近我也是在折腾项目 ...

  8. QC

    IQC:Incoming Quality Control 意思是来料的质量控制  来料 IPQC:InPut Process Quality Control 过程质量控制   来料 FQC:Final ...

  9. CentOS 安全优化

    1.操作系统和数据库系统管理用户身份鉴别信息令应有复杂度要求并定期更换. 配置# vi /etc/login.defs 系统默认配置: PASS_MIN_LEN=5 #密码最小长度 PASS_MAX_ ...

  10. 关于RabbitMQ Queue Argument的简介

    1.Message TTL message在队列queue中可以存活多长时间,以毫秒为单位:发布的消息在queue时间超过了你设定的时间就会被删除掉. channel.queueDeclare(&qu ...