Правильный вызов jdbc должен выглядеть примерно так:
try {
Connection conn;
Statement stmt;
ResultSet rs;
try {
conn = DriverManager.getConnection(myUrl,"","");
stmt = conn.createStatement();
rs = stmt.executeQuery(myQuery);
while ( rs.next() ) {
// process results
}
} catch (SqlException e) {
System.err.println("Got an exception! ");
System.err.println(e.getMessage());
} finally {
// you should release your resources here
if (rs != null) {
rs.close();
}
if (stmt != null) {
stmt.close();
}
if (conn != null) {
conn.close();
}
}
} catch (SqlException e) {
System.err.println("Got an exception! ");
System.err.println(e.getMessage());
}
вы можете закрыть соединение (или оператор) только после получения результата из набора результатов. Самый безопасный способ - сделать это в блоке finally
. Однако close()
также мог бы работать SqlException
, следовательно, другой блок try-catch
.
Внешние квадратные скобки в [\<\[90m\[39m\>]
образуют выражение для скобок , которое соответствует одному определенному в нем символу. Снятие скобок не решит проблему, так как вы используете границы слов \<
и \>
, которые здесь не предназначены, поскольку [90m[39m
должны быть удалены в в любом контексте .
Использовать
sed 's/\[90m\[39m//g'
Это удалит любое число [90m[39m
в строке везде в файле.