【发布时间】:2020-03-14 09:14:58
【问题描述】:
我有一个文本文件:(CNC G 代码) 行数:14415 字符数:263950
我必须更改其中的一些工具命令。 如果我找到“T***”,例如“T120”,我需要将其替换为用户提供的其他工具命令,例如“T30”。
我写了一个工作程序(javafx),读取txt文件,更改工具,导出txt文件,但是更改方法真的很慢。
这就是它现在的工作方式,以一种简单的形式,我将每个 char 复制到另一个字符串变量,除非我需要替换:
String originalGcode come from txt file reading
String newGcode = "";
for ( int i = 0; i < originalGcode.length(); i++ ){
if ( condition == true ){
newGcode += newToolCodeFromUser;
} else {
newGcode += originalGcode.charAt(i);
}
现在需要 34 秒。 您有什么想法吗,如何在 1-2 秒内完成?
替换不是一个好的解决方案,因为: - 我在 G 代码中有很多工具代码 - 一个工具代码(例如 T120)出现多次。 - 例如:我在程序的第 20 行和第 30 行有 T120,第 50 行和第 60 行有 T30 - 首先,用户想要将 T120 更改为 T30 - 其次,用户想要将 T30 更改为 T77 -> 我只需要在第 50 行和第 60 行替换 T30,但由于第一个更改命令,我已经在第 20 行和第 30 行替换了 T30。
我是 JAVA 编程新手,请解释一下您的解决方案 :)
【问题讨论】:
-
现在我保存我已经进行更改的行数,当下一个更改命令到来时,我找到一个 T*** 代码,我检查我是否在这一行更改了工具已经?
标签: java string replace char copy