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
Post a Comment