删除文本文件中的多余行

时间:2011-05-26 00:49:12

标签: java file line

我想删除由于某种原因正在创建的文本文件前面的额外行。这是我正在做的代码:

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 个答案:

答案 0 :(得分:1)

您可以检查该行是否为“空”并跳过它 - if (line.trim().length() != 0)应告诉您该行是否为“空白”。

答案 1 :(得分:0)

所以它不是一个空行而是匹配RE / ^ \ s * \ / \ /.*/?

我引用的RE应该有用,如果你没有使用/命令,“^ \ s * //。*”

如果它是空白的,可能是这样的:

[编辑]

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