插入或替换为空时如何发送邮件。-JAVA/MYSQL
我使用解析器从文本文件中读取数据并将其写入数据库。我想在阅读时找到一种方法清空2次以上,发送错误消息 我该怎么做 这是可能的吗 解析器的代码是:插入或替换为空时如何发送邮件。-JAVA/MYSQL,java,mysql,Java,Mysql,我使用解析器从文本文件中读取数据并将其写入数据库。我想在阅读时找到一种方法清空2次以上,发送错误消息 我该怎么做 这是可能的吗 解析器的代码是: BufferedReader reader = new BufferedReader(new FileReader("C:/Users/RPR1BRG/Desktop/test.txt")); String dados[] = new String[6]; String linha = reader.readLine(); while (lin
BufferedReader reader = new BufferedReader(new FileReader("C:/Users/RPR1BRG/Desktop/test.txt"));
String dados[] = new String[6];
String linha = reader.readLine();
while (linha != null) {
StringTokenizer st = new StringTokenizer(linha, ";\"");
dados[0] = st.nextToken();
dados[1] = st.nextToken();
dados[2] = st.nextToken();
dados[3] = st.nextToken();
dados[4] = st.nextToken();
dados[5] = st.nextToken();
DateFormat dateFormat = new SimpleDateFormat("d-M-yy");
PreparedStatement stmt = (PreparedStatement) conexao.prepareStatement("replace into registos" + " (date, hour, Id, Tem, Hum, pt) values (?,?,?,?,?,?)");
try {
stmt.setDate(1, new java.sql.Date(dateFormat.parse(dados[0]).getTime()));
stmt.setString(2, dados[1]);
stmt.setString(3, dados[2]);
stmt.setString(4, dados[3]);
stmt.setString(5, dados[4]);
stmt.setString(6, dados[5]);
} catch (java.text.ParseException ex) {
Exceptions.printStackTrace(ex);
}
stmt.executeUpdate();
linha = reader.readLine();
PrintWriter writer = new PrintWriter("C:/Users/RPR1BRG/test.txt");
writer.print("");
writer.close();
}
} catch (ClassNotFoundException | SQLException | IOException e) {
System.err.println("Erro: " + e.getMessage());
}
}
我希望我已经明确表示怀疑
如果有人不明白,请让我澄清
感谢您的帮助。您可以添加一个标记
布尔值
,当您点击一个空行时设置该标记,然后如果下一行也是空的,您将出错,否则您将重置该标记
boolean flag = false;
while (line = in.read() != null) {
if (line.equals("") && flag) throw Exception();
else if (line.equals("")) flag = true;
else flag = false
...
}
这只是一些伪代码,但应该能让我明白我的意思。谢谢你的回复。你说在捕获之前添加这个代码吗?不,那将是你的while循环。我只是写的有点不同。