我有一个带有以下内容的文本文件“test.txt”
********************
Hi
This is ABC
I learning JAVA and would like to expertize in it.
I joined Stackoverflow today.
********************
我的要求是制作第4行 - 我今天加入了Stackoverflow。作为test.txt中的第一行,以便文件内容如下:
********************
I joined Stackoverflow today.
Hi
This is ABC
I learning JAVA and would like to expertize in it.
I joined Stackoverflow today.
********************
这可以通过代码来完成,因为我正在尝试使用各种Java Utils,但我无法将该行移到第一位。
答案 0 :(得分:1)
可能不是最好的方式,但有效!
首先删除
行File inputFile = new File("test.txt");
File tempFile = new File("myTempFile.txt");
BufferedReader reader = new BufferedReader(new FileReader(inputFile));
BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));
String lineToRemove = "I joined Stackoverflow today.";
String currentLine;
while((currentLine = reader.readLine()) != null) {
// trim newline when comparing with lineToRemove
String trimmedLine = currentLine.trim();
if(trimmedLine.equals(lineToRemove)) continue;
writer.write(currentLine + System.getProperty("line.separator"));
}
boolean successful = tempFile.renameTo(inputFile);
writer.close();
reader.close();
然后将其附加到文件的开头
RandomAccessFile f = new RandomAccessFile(new File("yourtextfile.txt"), "rw");
f.seek(0); // to the beginning
f.write(lineToRemove.getBytes());
f.close();
答案 1 :(得分:0)
正在使用的输入文件具有重复记录 细节: AA BB AA GG BB BB
要删除重复项,我使用以下代码
File Readfile= new File(n.getProperty("file"));
BufferedReader reader= new BufferedReader(new FileReader(Readfile));
Set<String> lines = new HashSet<String>(10000);
String line;
while((line=reader.readLine())!=null){
lines.add(line);
}
reader.close();
File file =new File("stripduplicates.txt");
if(!file.exists()){
file.createNewFile();
}
BufferedWriter writer = new BufferedWriter(new FileWriter(file.getPath()));
//EDIT done
writer.write("DETAILS:");
for(String unique: lines){
//EDIT done
if(!(unique.startsWith("DETAILS:"))
{
writer.write(unique);
writer.newLine();
}
}
writer.close();
}
根据需要输出
详情: AA GG BB