我有以下情况:我想加载文件的内容,删除一些信息(例如特定的字节序列)并将修改后的内容存储回文件。
是否有一种用于此目的的读写流,或者我只能通过使用InputStream / OutputStream配对来实现它?
答案 0 :(得分:0)
抱歉!您可以自行查看java.io
包here的文档,但我不认为有任何类型的读/写流。
答案 1 :(得分:0)
Afaik没有"一个"可用于读取和写入的流。你必须使用两个流。 Java 8 API在这里对我们有所帮助。
请参阅以下代码段作为示例(其中显示了实现读取/操作/写入文件内容的多种方法之一)。
import java.io.BufferedWriter;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class Main {
public static void main(String[] args) throws IOException {
final Path filePath = Paths.get("D:/test.txt");
final String sequenceToRemove = "foobar";
/*
* Read content from file
*/
final String content = new String(Files.readAllBytes(filePath));
/*
* Remove content partially
*/
final String modifiedContent = content.replace(sequenceToRemove, "");
/*
* Write modified content to file
*/
try (BufferedWriter writer = Files.newBufferedWriter(filePath)) {
writer.write(modifiedContent);
}
}
}