java向文件中追加内容与读写文件内容源码
来源:互联网 发布:qq克隆软件 编辑:程序博客网 时间:2024/06/07 02:10
向文件尾加入内容有多种方法,常见的方法有两种:
// 使用RandomAccessFile实现文件的追加,其中:fileName表示文件名;content表示要追加的内容
public static void appendMethod_one(String fileName, String content) {
try {
// 按读写方式创建一个随机访问文件流
RandomAccessFile raf = new RandomAccessFile(fileName, "rw");
long fileLength = raf.length();// 获取文件的长度即字节数
// 将写文件指针移到文件尾。
raf.seek(fileLength);
// 按字节的形式将内容写到随机访问文件流中
raf.writeBytes(content);
// 关闭流
raf.close();
} catch (IOException e) {
e.printStackTrace();
}
}
// 使用FileWriter实现文件的追加,其中:fileName表示文件名;content表示要追加的内容
public static void appendMethod_two(String fileName, String content) {
try {
// 创建一个FileWriter对象,其中boolean型参数则表示是否以追加形式写文件
FileWriter fw = new FileWriter(fileName, true);
// 追加内容
fw.write(content);
// 关闭文件输出流
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void showFileContent(String fileName) {
File file = new File(fileName);
BufferedReader reader = null;
try {
System.out.println("以行为单位读取文件内容,一次读一整行:");
reader = new BufferedReader(new FileReader(file));
String tempString = null;
int line = 1;
// 一次读入一行,直到读入null为文件结束
while ((tempString = reader.readLine()) != null) {
// 显示行号
System.out.println(line + ": " + tempString);
line++;
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e1) {
}
}
}
}
public static void main(String[] args) {
String fileName = "C:/temp/append.txt";
String content = "Successful operation!";
System.out.println(fileName + "文件的内容如下:");
CharactersDemo_03.showFileContent(fileName); // 显示文件内容
// 按RandomAccessFile的形式追加文件
System.out.println("\n按RandomAccessFile的形式追加文件后的内容如下:");
CharactersDemo_03.appendMethod_one(fileName, content);
CharactersDemo_03.appendMethod_one(fileName, "\n Game is Over! \n");
CharactersDemo_03.showFileContent(fileName); // 显示文件内容
// 按FileWriter的形式追加文件
System.out.println("\n按FileWriter的形式追加文件后的内容如下:");
CharactersDemo_03.appendMethod_two(fileName, content);
CharactersDemo_03.appendMethod_two(fileName, "\n Game is Over! \n");
CharactersDemo_03.showFileContent(fileName); // 显示文件内容
}
}
RandomAccessFile类可以实现随机访问文件的功能,可以以读写方式打开文件夹的输出流
public void seek(long pos)可以将读写指针移到文件尾,参数Pos表示从文件开头以字节为单位测量的偏移位置,在该位置文件指针。
public void write(int pos)将数据写到读写指针后面,完成文件的追加。参数pos表示要写入的Byte
通过FileWrite打开文件输出流,构造FileWrite时指定写入模式,是一个布尔量,为真时表示写入的内容添加到已有文件的内容的后面,为假时表示重新写文件,以前的记录被清空,默认的值为假。
具体的例子可以参看以下的代码:
package Characters;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.RandomAccessFile;
// 使用RandomAccessFile实现文件的追加,其中:fileName表示文件名;content表示要追加的内容
public static void appendMethod_one(String fileName, String content) {
try {
// 按读写方式创建一个随机访问文件流
RandomAccessFile raf = new RandomAccessFile(fileName, "rw");
long fileLength = raf.length();// 获取文件的长度即字节数
// 将写文件指针移到文件尾。
raf.seek(fileLength);
// 按字节的形式将内容写到随机访问文件流中
raf.writeBytes(content);
// 关闭流
raf.close();
} catch (IOException e) {
e.printStackTrace();
}
}
// 使用FileWriter实现文件的追加,其中:fileName表示文件名;content表示要追加的内容
public static void appendMethod_two(String fileName, String content) {
try {
// 创建一个FileWriter对象,其中boolean型参数则表示是否以追加形式写文件
FileWriter fw = new FileWriter(fileName, true);
// 追加内容
fw.write(content);
// 关闭文件输出流
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void showFileContent(String fileName) {
File file = new File(fileName);
BufferedReader reader = null;
try {
System.out.println("以行为单位读取文件内容,一次读一整行:");
reader = new BufferedReader(new FileReader(file));
String tempString = null;
int line = 1;
// 一次读入一行,直到读入null为文件结束
while ((tempString = reader.readLine()) != null) {
// 显示行号
System.out.println(line + ": " + tempString);
line++;
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e1) {
}
}
}
}
public static void main(String[] args) {
String fileName = "C:/temp/append.txt";
String content = "Successful operation!";
System.out.println(fileName + "文件的内容如下:");
CharactersDemo_03.showFileContent(fileName); // 显示文件内容
// 按RandomAccessFile的形式追加文件
System.out.println("\n按RandomAccessFile的形式追加文件后的内容如下:");
CharactersDemo_03.appendMethod_one(fileName, content);
CharactersDemo_03.appendMethod_one(fileName, "\n Game is Over! \n");
CharactersDemo_03.showFileContent(fileName); // 显示文件内容
// 按FileWriter的形式追加文件
System.out.println("\n按FileWriter的形式追加文件后的内容如下:");
CharactersDemo_03.appendMethod_two(fileName, content);
CharactersDemo_03.appendMethod_two(fileName, "\n Game is Over! \n");
CharactersDemo_03.showFileContent(fileName); // 显示文件内容
}
}
0 0
- java向文件中追加内容与读写文件内容源码
- JAVA向文件中追加内容
- JAVA 向文件中追加内容方法
- 向文件中追加内容
- Java中向指定txt文件追加内容
- CFile向文件中追加内容
- linux 向文件追加内容
- java追加文件内容
- Java 文件读写(txt类型读写并追加内容)
- java读写文件大全,将内容追加到文件尾部
- java中FileOutputStream流,向文件中追加内容,而不是覆盖掉文件中原有的数据
- 向文件中追加内容,然后读取出来
- 文件中追加文本内容
- Java往文件追加内容
- java实现文件内容追加
- 文件与文件之间追加内容
- CStdioFile 追加文件内容
- 追加文件内容
- 重建二叉树
- 实战Nginx与PHP(FastCGI)的安装、配置与优化
- 飞转项目更新到gitlab和布署到服务器的步骤
- c++ primer plus 第七章《编程题7.13.7》
- java实现二叉树的遍历
- java向文件中追加内容与读写文件内容源码
- 进制互转
- c++ primer plus 第七章《编程题7.13.8a》
- Android中<uses-sdk>属性和target属性分析
- 获取文件创建时间、最后修改时间、访问时间
- 处理客户端缓存无法及时更新js和css文件的方法
- hdu 5396 Expression 2015多校联合训练赛#9 动态规划 dp
- c++ primer plus 第七章《编程题7.13.8b》
- PowerPC PPC460-S MMU(六 Shadow TLB)