Java while循环|如果测试值返回exeption错误,则返回true

时间:2018-01-08 10:56:08

标签: java loops while-loop try-catch

我正在开展一个项目,我需要跳过以'"'开头的所有行。我有这段代码:

 String line = reader.readLine();
 boolean containsChar;
 try { containsChar = line.charAt(0) != '\"'; }
 catch (Exception ex) { containsChar = true; }
 while (line != null && containsChar) {
     line = reader.readLine();
     try { containsChar = line.charAt(0) != '\"'; }
     catch (Exception ex) { containsChar = true; }
 }

我曾经有一段简短的代码,但这会检测到包含''''在线的任何地方:

while (line != null && !line.contains("\"")) { line = reader.readLine(); }

我有一个简短的方法,但是一条线可能是空的。在这种情况下,代码返回一个异常:

while (line != null && line.charAt(0) != '\"') { line = reader.readLine(); }

问题: 是否可以使用类似于下面代码的代码,其中try-catch在while测试中?

while (line != null && (try { line.charAt(0) != '\"'; }catch (Exception ex) { true; })) { line = reader.readLine(); }

解决方案: 在其中一条评论中,Thilo给出了一个解决方案,它可以在任何索引处使用char(在此示例中为索引12):

( line.length() > 12 && line.charAt(12) == something)

1 个答案:

答案 0 :(得分:1)

我想你想要String#startsWith

while (line != null && !line.startsWith(quote))