所以我最近收到了一个大文本文件,我需要阅读它,不幸的是它的格式很糟糕,因为到处都有下一行字符,使得阅读变得非常困难。因此,我一直在尝试想一种方法来对文件进行排序并使用 java 程序删除每个 nextLine
。
例如,如果我们有以下文本:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse rhoncus interdum condimentum. Proin viverra
justo vel imperdiet sagittis, purus sapien sagittis mi, et blandit purus ante non libero. Nulla ac
augue ut odio eleifend interdum
ac id justo. Quisque rutrum euismod sem, vel euismod nunc convallis eu. Praesent odio velit,
condimentum id scelerisque
iaculis, vulputate vitae lacus. Fusce adipiscing blandit libero eu venenatis.
Vestibulum nec urna
pulvinar arcu pretium
pretium. Duis vitae augue dolor. Etiam consectetur feugiat
diam sit amet gravida.
我们希望结果是这样的:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse rhoncus interdum
condimentum. Proin viverra, justo vel imperdiet sagittis, purus sapien sagittis mi,
blandit purus ante non libero. Nulla ac augue ut odio eleifend interdum ac id justo.
Quisque rutrum euismod sem, vel euismod nunc convallis eu. Praesent odio velit,
condimentum id scelerisque iaculis, vulputate vitae lacus. Fusce adipiscing blandit
libero eu venenatis. Vestibulum nec urna pulvinar arcu pretium pretium. Duis vitae
augue dolor
我对使用 Java 读取/写入文本文件不太有经验。我当前的想法是读取每个字符值,检查它是否等于下一行的值,如果不等于,则继续将该字符写入单独的文本文件。但我不太确定如何实现这一点。我不知道如何检查下一个字符是否是下一行。
任何帮助都会很棒。
最佳答案
File file = new File("yourFilePath.txt"); // create File object to read from
Scanner scanner = new Scanner(file); // create scanner to read
Printwriter writer = new PrintWriter("someOutputFile.txt"); // create file to write to
while(scanner.hasNextLine()){ // while there is a next line
String line = scanner.nextLine(); // line = that next line
// do something with that line
String newLine = "";
// replace a character
for (int i = 0; i < line.length(); i++){
if (line.charAt(i) != '*') { // or anything other character you chose
newLine += line.charAt(i);
}
}
// print to another file.
writer.println(newLine);
}
您也可以只写回到同一个文件,但这需要使用StringBuilder
。
关于java - java中删除文本文件中的某个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19885354/