在这种情况下最好使用哪个类,我应该调用什么方法来替换指定行的值?
问问题
88 次
4 回答
1
卡亚曼的答案是错误的。
- 在编程中,大多数情况下有许多解决方案。这就是为什么“唯一的方法是……”是错误的。
- Kayaman的解决方案仅适用于大小小于可用 Java 堆大小的非常小的文件。但是应该在问题描述中指定,例如“最大文件大小为 1MB,JVM 堆大小为 128MB”。如果您使用 256MB 堆运行 Java 并且您的文件是 20GB,那么它将无法正常工作。
- 甚至逐行读取和写入也可能不起作用,因为行可能比堆大小长。
于 2013-09-29T17:10:45.250 回答
0
唯一的方法是读取所有行,然后将它们写回,修改指定的行。所以BufferedReader
,BufferedWriter
将是你的主要武器。
于 2013-09-29T16:37:45.677 回答
0
until eof
read line
increment line number
if the line number is the specified line
replace content
end if
write the modified line
结束直到
于 2013-09-29T16:39:19.237 回答
0
如果您有行号,则使用 BufferedWriter 类获取行号,然后使用 BufferedWriter 对象在包含现有行的同一行号上写入新行。
如果您事先不知道编号,则需要先使用 BufferedReader 读取文件,到达行号,然后按照上述步骤替换行号。
于 2013-09-29T16:53:12.613 回答