writer - while(line.contains("^")) loop not breaking -


this class:

import java.io.*;  public class test {   public static void main(string[] args) throws filenotfoundexception, ioexception   {     bufferedreader br = new bufferedreader(new filereader("file2.txt"));     bufferedwriter bw = new bufferedwriter(new filewriter("file.txt"));      int = 0;     string line;      while ((line = br.readline()) != null) {       while(line.contains("^")) {         ++;         line = line.replacefirst("^", integer.tostring(i));       }       bw.write(line + "\n");     }     br.close();     bw.close();   } } 

the file2.txt , file.txt same , want make lines like

<wpt lat="26.381418638" lon="-80.101236298"><ele>0</ele><time> </time><name>waypoint #^</name><desc> </desc></wpt> 

to like

<wpt lat="26.381418638" lon="-80.101236298"><ele>0</ele><time> </time><name>waypoint #5</name><desc> </desc></wpt> 

when run though, goes on infinite loop. advice help. thanks!

line = line.replacefirst("^", integer.tostring(i)); 

replacefirst's first argument regular expression, , "^" regular expression means "the start of string". command keeps prepending values start of string, , never removes circumflexes. instead, should write:

line = line.replacefirst("\\^", integer.tostring(i)); 

Comments

Popular posts from this blog

amazon web services - S3 Pre-signed POST validate file type? -

c# - Check Keyboard Input Winforms -