我想知道在Java中是否可以修改文本文件中的特定行。我有一个文本文件,如下所示:
行1:0
行2:1
第3排:0
行4:1
我正在使用这个:
FileWriter fw = new FileWriter("seats.txt",true);
BufferedWriter bw = new BufferedWriter(fw);
bw.write("2", 0, 1);
结果是:
行1:0
行2:1
第3排:0
第4行:12
等
如果我设置的偏移量为任何其他值比0,我收到这个异常:
java线程“AWT-EventQueue-0”中出现异常。lang.StringIndexOutOfBoundsException:字符串索引超出范围:2
基本上我想做的是切换值。如果我在x行有“0”,我想在那里放一个“1”,反之亦然。没有其他信息会存储在一行上,只有1或0。
缓冲写入中的偏移量。write()方法不是要写入的文件中的偏移量,而是要写入的字符串中的偏移量。如果你查一下文件https://docs.oracle.com/javase/7/docs/api/java/io/BufferedWriter.html您将看到以下内容:
write(String s, int off, int len)
Writes a portion of a String.
所以基本上你要做的就是把字符串s从字符号写到字符号len-1。
据我所知,我建议也创建一个BufferedReader,读取所有文件,然后覆盖现有文件,用一些循环和条件一次检查每一行,然后写入相应的值。您可以使用写入(int c)方法来代替,因为您只写0或1。
问题内容: 你好堆栈溢出的朋友。我有一个简单的问题,我担心没有简单的解决方案,我需要有关如何进行的建议。我正在开发一个打包为可执行JAR的Java应用程序,但它需要在执行过程中修改其某些JAR文件内容。在此阶段,我遇到了问题,因为某些操作系统锁定了文件,从而阻止了对该文件的写入。 用户必须在应用程序退出时看到jar文件的更新版本,这一点非常重要,尽管我可以非常灵活地实现这一目标。干净,高效的解决方
介绍 我用这个项目挑战自己。 我需要修改.txt上特定行的数据,而无需执行以下操作: 将所有内容加载到内存中(地图,列表,数组... 必须复制文件(例如 - 一个简单的.txt文件将拥有一切! 文本文件 遵循这种格式,即以“;”作为分隔符的字符串。 我的代码尝试从0到9的数字 (0 到 9 表示第一个数字 - 理解问题 字符串 - 最后两个“0”将是另一个日期格式,即“yy/MM/dd HH:MM
我试图找到最长回文子串问题的algo。
我有一个大型git项目,我愚蠢地将其导入eclipse并运行了自动格式化。现在,项目中的每个文件都显示为已修改。与其提交我的格式化文件,我宁愿恢复所有我只格式化过且没有其他更改的文件。例如: 我知道那是文件2。cpp文件2。h和文件3。已使用内容(即,不只是格式化)修改了cpp。我想隐藏对这三个文件的更改,然后签出一个旧版本,这样我就可以在之后重新应用对这些文件的更改。我宁愿避免这样的事情: 如果
问题内容: 我想修改jar中的文件。是否可以在我的应用程序中执行此操作而无需提取并重新创建? 我要修改的文件是配置文件,主要是基于xml的文件。 我感兴趣的原因是,如果我将其解压缩,则无法再次创建.exe文件。 问题答案: 我想修改中的文件。是否可以在我的应用程序中执行此操作而无需提取并重新创建? 我要修改的文件是配置文件,主要是基于的文件。 我感兴趣的原因是,如果我将其解压缩,则你可以将u选项用
本文向大家介绍Git 提交特定文件中的更改,包括了Git 提交特定文件中的更改的使用技巧和注意事项,需要的朋友参考一下 示例 您可以使用以下命令提交对特定文件的更改,并跳过暂存文件git add: 或者,您可以首先暂存文件: 稍后再提交: