由于某种原因,我想删除正在创建的文本文件前面的一行。这是我正在做的事情的代码:
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.contents("//"))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
有什么建议吗?
您可以检查该行是否为"空"并跳过它-if (line.trim().length() != 0)
应该告诉您该行是否不是"空"。
所以它不是一个空行,而是匹配RE/^\s*\/\/.*/?
我引用的RE应该有效,如果你没有使用/命令,"^\s*/.*"
如果它是空白的,也许是这样的:
[编辑]
first = 1;
while ((line = textReader.readLine()) != null) {
if (first)
{
if (matchera.matches("s*$", line))
{
continue;
}
first = 0;
}