Удалить лишние строки в текстовом файле - PullRequest
0 голосов
/ 26 мая 2011

Я хотел бы удалить лишнюю строку в начале текстового файла, который создается по какой-то причине. Вот код для того, что я делаю:

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 (! Line.contains ("//")) textData.add (line); тогда строки не выводятся. Вот что я использую для вызова метода записи:

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

Я хочу начать с самой первой строки и начать запись в файл. Вот как выглядит мой файл:

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

Хотя я хочу, чтобы это выглядело так:

line 1
line 2
line 3

Есть предложения?

Ответы [ 2 ]

1 голос
/ 26 мая 2011

Вы можете проверить, является ли строка «пустой», и пропустить ее - if (line.trim().length() != 0) должен сообщить вам, не является ли строка «пустой».

0 голосов
/ 26 мая 2011

ТАК, что это не пустая строка и вместо этого соответствует RE /^\s*\/\/.*/?

RE, которое я цитировал, должно работать, если вы не используете команду /, "^ \ s * //. *"

Если оно пустое, возможно, что-то вроде этого:

[править]

first = 1;
while ((line = textReader.readLine()) != null) {
  if (first)
   {
     if (matchera.matches("\s*$", line))
     {
        continue;
     }
     first = 0;
   }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...