我需要通过 Java 在文本文件的开头添加文本。
例如我有带有数据的 test.txt 文件:
Peter
John
Alice
我需要添加(到文件顶部):
Jennifer
应该是:
Jennifer
Peter
John
Alice
我有部分代码,但是它将数据 append 到文件末尾,我需要让它在文件顶部添加文本:
public static void irasymas(String irasymai){
try {
File file = new File("src/lt/test.txt");
if (!file.exists()) {
file.createNewFile();
}
FileWriter fw = new FileWriter(file.getAbsoluteFile(), true);
BufferedWriter bw = new BufferedWriter(fw);
bw.write(irasymai+ "\r\n");
bw.close();
}
catch (IOException e) {
e.printStackTrace();
}
}
我已经尝试过了,但这只会删除文件中的所有数据而不插入任何文本:
public static void main(String[] args) throws IOException {
BufferedReader reader = null;
BufferedWriter writer = null;
ArrayList list = new ArrayList();
try {
reader = new BufferedReader(new FileReader("src/lt/test.txt"));
String tmp;
while ((tmp = reader.readLine()) != null)
list.add(tmp);
OUtil.closeReader(reader);
list.add(0, "Start Text");
list.add("End Text");
writer = new BufferedWriter(new FileWriter("src/lt/test.txt"));
for (int i = 0; i < list.size(); i++)
writer.write(list.get(i) + "\r\n");
} catch (Exception e) {
e.printStackTrace();
} finally {
OUtil.closeReader(reader);
OUtil.closeWriter(writer);
}
}
感谢您的帮助。
最佳答案
File mFile = new File("src/lt/test.txt");
FileInputStream fis = new FileInputStream(mFile);
BufferedReader br = new BufferedReader(fis);
String result = "";
String line = "";
while( (line = br.readLine()) != null){
result = result + line;
}
result = "Jennifer" + result;
mFile.delete();
FileOutputStream fos = new FileOutputStream(mFile);
fos.write(result.getBytes());
fos.flush();
思路是全部读完,在前面加上字符串。删除旧文件。使用编辑的字符串创建新文件。
关于 java 。如何将文本 append 到 file.txt 的顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16665124/