どのように私はより速く、Javaでそれを行うことができますか?長い文字列の文字をコピーします。

Sandor.Oros:

ライン(CNC G-コード)番号:文字の14415番号:263950私は、テキストファイルを持っています

私はそれにいくつかのツールコマンドを変更する必要があります。私は、例えば、「T ***」、「T120」を見つけた場合、私は例「T30」のために、ユーザーによって与えられ、他のツールコマンドのためにそれを交換する必要があります。

私は作業プログラム(JavaFXのは)、TXTファイル、変更ツール、輸出のtxtファイルを読んでwritedが、変更方法は本当に遅いです。

それはそれは私が交換する必要がある場合を除き、単純な形で、私は、他の文字列変数へのすべての文字をコピーし、今どのように動作するかです:

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 forexample)一つのツールのコードが何度も表示されます。 - 例えば:私はプログラムでライン50とライン60にライン20とライン30でT120とT30を持っている - まず、ユーザが、T30にT120を変更したい - >私は交換する必要がある - 第二に、ユーザーはT77にT30を変更したいです唯一のライン50と60でT30が、私はので、最初の変更コマンドのライン20と30で、すでにT30を持っています。

私はJAVAのプログラミングに新しいです、あなたのソリューションを説明してください:)

ティムBiegeleisen:

交換用のロジックでのサイクルが存在しないと仮定すると、あなただけの代替品のシリーズを行うことができるかもしれません。

String originalGcode = "T10 T30 T120 T20";
String newGcode = originalGcode.replace("T30", "T77")
    .replace("T120", "T30");
System.out.println(newGcode);

この版画:

T10 T77 T30 T20

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=282093&siteId=1