我有一個文件夾保存一組文件,其中每個文件中的某些行包含#,$和%組成的特定字符。我怎樣才能從這些文件中刪除這些字符,同時保持其他內容與以前完全相同。如何在Java中做到這一點?從一組文件中刪除一些特定字符
0
A
回答
2
下面是Java NIO的解決方案。
Set<Path> paths = ... // get your file paths
// for each file
for (Path path : paths) {
String content = new String(Files.readAllBytes(path)); // read their content
content = content.replace("$", "").replace("%", "").replace("#", ""); // replace the content in memory
Files.write(path, content.getBytes(), StandardOpenOption.WRITE, StandardOpenOption.TRUNCATE_EXISTING); // write the new content
}
我沒有提供異常處理。以任何你想要的方式處理。
OR
如果你是在Linux上,使用Java的ProcessBuilder
建設sed
命令變換內容。
+1
不是逐行傳輸文件會更好嗎?這可能會導致一個OOME甚至相當小的文件... –
+0
@BoristheSpider在文件很大的情況下,當然。但是在讀取和重命名文件時(最好覆蓋原文),您必須寫入其他文件。 –
0
僞代碼:
files = new File("MyDirectory").list();
for (file : files) {
tempfile = new File(file.getName() + ".tmp", "w");
do {
buffer = file.read(some_block_size);
buffer.replace(targetCharacters, replacementCharacter);
tempfile.write(buffer);
} while (buffer.size > 0);
file.delete();
tempfile.rename(file.getName());
}
相關問題
- 1. 從Matlab字符串中刪除一些特定的字符
- 2. 刪除一個PHP字符串中的一組特定字符
- 3. 刪除$ {和}從字符串中的一些特定模式
- 4. 從txt文件中刪除特定的行和一個符號
- 5. 刪除除一些特殊字符以外的所有字符
- 6. Java - 從文件[]數組中刪除一些文件
- 7. 從腳本中刪除一組字符
- 8. 從輸入中刪除一些特定的文本?
- 9. 從文本文件中刪除特定的字符
- 10. 試圖從文本文件中刪除特定的字符串
- 11. 如何從bash中的字符串中刪除一些文本?
- 12. 刪除一組特定的從txt文件的內容與PHP
- 13. 從jQuery的POST刪除一些文字
- 14. 從目錄中的文件中刪除特定的字符串
- 15. 從文件中的特定行中刪除連字符
- 16. 如何從C#字符串中刪除一些字符?
- 17. 從字符串中刪除一些字符
- 18. 根據文本從字符串中刪除一些單詞
- 19. 從列中刪除特定字符
- 20. 從NSString中刪除特定字符
- 21. 從數組中刪除一些元素
- 22. 從文件中的特定位置刪除字符串
- 23. Python:從文件中刪除特定的字符串
- 24. Python:從文件中刪除特定的字符串
- 25. 如何從文件名中刪除特定字符?
- 26. 如何刪除數據庫文件中的一些字符串
- 27. 如何在文件中插入和刪除一些字符?
- 28. PHP:如何在一個字符串中刪除特定字符
- 29. Excel中 - 一個特定的字符後的字符刪除
- 30. 從一個字符串中刪除特殊字符
你將不得不讀取每個文件的全部內容,並取代它。 –