简体   繁体   中英

Remove extra lines in a text file

I would like to remove an extra line at the front of the text file that's being created for some reason. Here's the code for what I'm doing:

String line;
while ((line = textReader.readLine()) != null) {
   if (!line.contains("//")) textData.add(line);
   Pattern pattern = Pattern.compile("//.*$", Pattern.DOTALL);
   Matcher matcher = pattern.matcher(line);
   line = matcher.replaceFirst("");

If I remove the if (.line.contains("//")) textData;add(line). then the lines are not being outputted: Here's what I use to invoke writing method:

     WriteToFile filetoo = new WriteToFile("/Users/John/Desktop/newtext.txt", true);
            filetoo.write(anyLines[i]);

I want to start from the very first line and start writing to the file. Here's what my file looks like:

................. // blank space (I want to get rid of this)
line 1
line 2
line 3

Though I want it to look like this:

line 1
line 2
line 3

Any suggestions?

You could check if the line is "empty" and skip it - if (line.trim().length() != 0) should tell you if the line is not "blank".

SO it is not a blank line and instead matches the RE /^\s*\/\/.*/?

The RE I quoted should work, of if you are not using the / command, "^\s*//.*"

If it is blank, perhaps something like this:

[edit]

first = 1;
while ((line = textReader.readLine()) != null) {
  if (first)
   {
     if (matchera.matches("\s*$", line))
     {
        continue;
     }
     first = 0;
   }

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM