java中,对文件进行追加内容操作的三种方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
import java.io.BufferedWriter;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.RandomAccessFile;
//如果文件存在,则追加内容;如果文件不存在,则创建文件,追加内容的三种方法 public class AppendContentToFile {
@SuppressWarnings ( "static-access" )
public static void main(String[] args) {
AppendContentToFile a = new AppendContentToFile();
a.method1(); a.method2( "E:\\dd.txt" , "222222222222222" );
a.method3( "E:\\dd.txt" , "33333333333" );
} |
方法1:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
public void method1() {
FileWriter fw = null ;
try {
//如果文件存在,则追加内容;如果文件不存在,则创建文件 File f= new File( "E:\\dd.txt" );
fw = new FileWriter(f, true );
} catch (IOException e) {
e.printStackTrace(); } PrintWriter pw = new PrintWriter(fw);
pw.println( "追加内容" );
pw.flush(); try {
fw.flush(); pw.close(); fw.close(); } catch (IOException e) {
e.printStackTrace(); } } |
方法2:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
public static void method2(String file, String conent) {
BufferedWriter out = null ;
try {
out = new BufferedWriter( new OutputStreamWriter(
new FileOutputStream(file, true )));
out.write(conent+ "\r\n" );
} catch (Exception e) {
e.printStackTrace(); } finally {
try {
out.close(); } catch (IOException e) {
e.printStackTrace(); } } } |
方法3:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
public static void method3(String fileName, String content) {
try {
// 打开一个随机访问文件流,按读写方式 RandomAccessFile randomFile = new RandomAccessFile(fileName, "rw" );
// 文件长度,字节数 long fileLength = randomFile.length();
// 将写文件指针移到文件尾。 randomFile.seek(fileLength); randomFile.writeBytes(content+ "\r\n" );
randomFile.close(); } catch (IOException e) {
e.printStackTrace(); } } } |