У меня есть текстовый файл: (CN C G-код) Количество строк: 14415 Количество символов: 263950
Мне нужно изменить в нем некоторую команду инструмента. Если я нахожу «T ***», например «T120», мне нужно заменить его на другую команду инструмента, заданную пользователем, например «T30».
Я написал рабочую программу (javafx), прочитал txt файл, изменил инструменты, экспортировал txt файл, но метод изменения действительно медленный.
Вот как это работает теперь, в простой форме, я копирую каждый символ в другую строковую переменную, за исключением случаев, когда мне нужно заменить:
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) появляется много раз. - Например: у меня есть T120 в строке 20 и строки 30 и T30 в строке 50 и строке 60 в программе - Во-первых, пользователь хочет изменить T120 на T30 - Во-вторых, пользователь хочет изменить T30 на T77 -> Я должен заменить T30 только в строках 50 и 60, но у меня уже есть T30 в строках 20 и 30 из-за первой команды изменения.
Я новичок в программировании JAVA, объясните, пожалуйста, ваше решение :)