作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我编写了以下代码来在文本文件中写入一行,并使用循环递增内容。问题是我使用的方法是将每个增量写入新行而不是附加。
for (int d = 10; d >= 1; d--) {
Path path = Paths.get("ScalModel.txt");
List<String> lines = Files.readAllLines(path, StandardCharsets.UTF_8);
int position = 75;
String extraLine = "MainAttack -OR-> {AttackNode" + d + "}";
lines.add(position, extraLine);
Files.write(path, lines, StandardCharsets.UTF_8);
}
我想要得到的输出是:
MainAttack -OR-> {AttackNode1, AttackNode2, AttackNode3, AttackNode4, AttackNode5, AttackNode6, AttackNode7, AttackNode8, AttackNode9, AttackNode10}
我得到的是:
MainAttack -OR-> {AttackNode1}
MainAttack -OR-> {AttackNode2}
MainAttack -OR-> {AttackNode3}
MainAttack -OR-> {AttackNode4}
MainAttack -OR-> {AttackNode5}
MainAttack -OR-> {AttackNode6}
MainAttack -OR-> {AttackNode7}
MainAttack -OR-> {AttackNode8}
MainAttack -OR-> {AttackNode9}
MainAttack -OR-> {AttackNode10}
如何修改代码以获得预期结果?
最佳答案
循环内有很多指令,必须将其放在循环外。就像我要做的那样:
Path path = Paths.get("ScalModel.txt");
List<String> lines = Files.readAllLines(path, StandardCharsets.UTF_8);
int position = 75;
String extraLine = "MainAttack -OR-> {";
for (int d = 10; d >= 1; d--) {
extraLine += "AttackNode"+d;
if(d==1) extraLine += "}";
else extraLine += ",";
}
lines.add(position, extraLine);
Files.write(path, lines, StandardCharsets.UTF_8);
如果您按照自己的方式进行操作,则在得到答案之前您将读写该文件 10 次。
关于java - 如何从Java循环中写入同一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55502989/
我是一名优秀的程序员,十分优秀!