我a.txt
列表試圖到第一線移動到最後一行在Java中移動.txt文件的第一行到最後一行
我發現腳本來完成以下
- 查找輸入文件中的「文本」並輸出到臨時文件。 (我可以設置 「文本」的字符串buffRead.readLine?),然後...
- 刪除原稿文件並重新命名新文件到原稿?
請給我我是新來的Java,但我做了大量的研究,無法找到我認爲是一個簡單的腳本的解決方案。
我a.txt
列表試圖到第一線移動到最後一行在Java中移動.txt文件的第一行到最後一行
我發現腳本來完成以下
請給我我是新來的Java,但我做了大量的研究,無法找到我認爲是一個簡單的腳本的解決方案。
因爲這是Java和關注文件IO,這是一個不平凡的設置。算法本身很簡單,但所需的符號並不是立即可見的。
BufferedReader reader = new BufferedReader(new FileReader("fileName"));
這給你一個簡單的方法來讀取文件fileName
的內容。
PrintWriter writer = new PrintWriter(new FileWriter("fileName"));
這給你一個簡單的寫入文件的方法。這樣做的API是完全相同的System.out
當你使用一個PrintWriter
,因此我選擇在這裏使用一個。
此時它讀取文件,並呼應它放回正確的順序一件簡單的事情。
String text = reader.readLine();
這會將文件的第一行保存到text
。
while (reader.ready()) {
writer.println(reader.readLine());
}
雖然reader
有留在它的文本,打印進線writer
。
writer.println(text);
打印您在開始時保存的行。
需要注意的是,如果你的程序做任何東西(它只是一個良好的習慣是這樣),你要關閉你的IO流,以避免泄漏資源。
reader.close();
writer.close();
或者,你也可以包住整個事情的try-with-resources自動執行相同的清潔。
Scanner fileScanner = new Scanner(myFile);
fileScanner.nextLine();
這將從文件返回文本的第一行,並丟棄它,因爲你不存儲任何地方。 覆蓋現有文件:
FileWriter fileStream = new FileWriter("my/path/for/file.txt");
BufferedWriter out = new BufferedWriter(fileStream);
while(fileScanner.hasNextLine()) {
String next = fileScanner.nextLine();
if(next.equals("\n") out.newLine();
else out.write(next);
out.newLine();
}
out.close();
請注意,您必須捕捉和處理一些IOExceptions
這種方式。此外,if()
... else(
)...語句在while()
循環必要保留的換行符出現在你的文本文件。
同一行添加到該文件的最後一行看看這個鏈接https://stackoverflow.com/a/37674446/6160431
閱讀的第一行,並存儲爲一個字符串,然後讀取文件的其餘部分,各行輸出到新文件。最後,在新文件的末尾寫上第一行。很簡單,你準時回家吃玉米片。 –