假设我有一个位于 /mypath/sampletext.txt 的 txt 文件。在保留原始文本文件内容的同时,如何在 Java 中使用以下内容将新行附加到文件的开头?:
String startStr ="--Start of File--";
寻找一种方法来做到这一点,而不必创建中间的第二个文件,并且如果可能的话只对现有文件进行修改。
假设我有一个位于 /mypath/sampletext.txt 的 txt 文件。在保留原始文本文件内容的同时,如何在 Java 中使用以下内容将新行附加到文件的开头?:
String startStr ="--Start of File--";
寻找一种方法来做到这一点,而不必创建中间的第二个文件,并且如果可能的话只对现有文件进行修改。
首先读取文件内容,将新行添加到 like contents = newLine + contents
,然后将新内容写入同一文件(不要附加)。
嗯,三种方法,可以帮助你
1.
//true: 是追加文本到文件 FileWriter write = new FileWriter("file_path",true); writer.write(内容);
//打开randomFile and "rw"
randomFile = new RandomAccessFile("file_path", "rw");
// 文件长度
long fileLength = randomFile.length();
//指向结束索引 randomFile.seek(fileLength);
//写入randomFile.writeBytes(content);
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file, true)));
out.write(内容);
新答案已更新...
在此,我使用了更多 FileIO 类,可能是它们的 API 已被弃用,但如果您了解 Java FileIO 类,则可以轻松修复它。
在这里,我在文件开头追加新行,而不是将其追加到文件末尾。
如有问题请再次评论......
试试这个,我想它会帮助你..
try
{
//Append new line in existing file.
FileInputStream fr = new FileInputStream("onlineSoultion.txt");
DataInputStream dr = new DataInputStream(fr);
String startStr = "--Start of File--\n";
//String startStr;
while (dr.available() > 0) {
startStr += dr.readLine();
//System.out.println(startStr);
}
dr.close();
fr.close();
FileOutputStream writer = new FileOutputStream("onlineSoultion.txt");
writer.write((new String()).getBytes());
writer.close();
PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("onlineSoultion.txt", true)));
out.println(startStr);
out.close();
}