stringbuffer 追加txt_Java逐行写入字符串到文件

下边是写东西到一个文件中的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学习笔记--字符串和文件IO

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

fprintf写入字符串入文件&sol;fread读取文件内的字符串

#include #include #include int main(void) { FILE * ...

Java&colon;逐行读、写文件、文件目录过滤的用法

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

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

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

java的io操作&lpar;将字符串写入到txt文件中&rpar;

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

&lbrack;测试&rsqb;java IO写入文件效率——几种方法比较

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

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

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

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

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

Java利用MessageDigest提供的MD5算法加密字符串或文件

MD5是常用的加密算法,也经常用于校验信息完整,如文件的完整性.用术语讲,MD5是一种消息摘要算法(Message Digest Algorithm).另外还有一种常用的消息摘要算法SHA1.如果想了 ...

随机推荐

IDEA中如何使用Maven进行打包。 IDEA版本是14

说实话,找了好半天的资料,也许是我的IDEA版本太高了网上资料稀缺,所以愣是没有找到打包的方法,只是自己瞎琢磨了,还好搞出来了,记录一下. 说文字说一下大概流程,其实很简单: 创建配置文件->创 ...

sliverlight 4 vs2010 的安装过程

今天小白正式开始学习sliverlight 的内容,但是在软件安装的过程中就遇到了问题,查了一下,需要安装对应版本的sdk跟tools,因为在新建项目的时候,可以选择sliverlght,因此,我断定 ...

BZOJ1520 &lbrack;POI2006&rsqb;Szk-Schools

裸的费用流啊... 建图:对于一个点p拆成两个p1和p2,S向p1连边,流量为1,费用为0:p2向T连边流量为1,费用为0 然后i1向a2到b2分别连边,不妨设i1向p2连边,流量为1,费用为|i - ...

【实习记】2014-08-15文档太少看着源码用cgicc&plus;stl库之模板谓词函数对象

总结1: 今天找到了昨天scanf的问题答案,scanf与printf一样的神奇而复杂,稍不留神,就会被坑.scanf函数在读入非空白符分割的多个字符串的解决方法是这个:/* 以 | 分割 * ...

Java Socket实现HTTP客户端来理解Session和Cookie的区别和联系

HTTP协议本身是无状态的,即使是同一台电脑同一个浏览器打开同一个页面两次,服务器不知道这两次请求是同一个客户端发送过来的,两次请求是完全独立的.例如,第一次请求时已经登录了,第二次再请求服务器会“忘 ...

(转载)一个生动的NIO描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值