一、结合jdbc的登录异常
①加载驱动
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
使用try/catch的方式处理forname异常
因为下面变量之间相互有联系,所以在同一个try下进行编写。
try {
②创建链接
connection = DriverManager.getConnection();//括号内的url依照自己的数据库编写
③写sqL语句
String sql = "select * from user where username=? and password=?";
用 ? 代替一个字节,进行占位
System.out.println("请输入用户名:");
String name = input.next();
System.out.println("请输入密码:");
String password = input.next();
④得到statement对象~
~⑤执行sqL语句得到结果集
statement = connection.prepareStatement(sql);
statement.setString(1,name);
statement.setString(2,password);
并对"name","password"两个字段进行赋值。
⑥处理结果集
if(resultSet.next()){
System.out.println("登陆成功!");
}else{
throw new LoginException("用户名或密码错误");
}
} catch (SQLException e) {
e.printStackTrace();
⑦关闭资源
}finally {
if(resultSet != null){
try {
resultSet.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(statement != null){
try {
statement.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(connection != null){
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
因为是自己编写的异常报错,且如果上面代码中途出错,容易空指针异常。
⑧异常类
public class LoginException extends Exception{
public LoginException(String message) {
super(message);
}
}
二、file
file有两种:文件 文件夹
路径:绝对路径 相对路径
关于file,常见的代码有:
①创建文件
File cFile = new File("F:\\1-java/aaa.txt");
//cFile.createNewFile(); //创建文件 a.txt
②修改文件名
File newName = new File("F:\\1-java/bbb.txt");
//cFile.renameTo(newName); //修改文件名为 bbb.txt
③删除文件
//newName.delete(); //删除文件 bbb.txt
④创建文件夹
File cDir = new File("F:\\1-java/a");
//cDir.mkdir(); //创建文件夹 a
⑤打印文件夹下所有文件
File[] files = cDir.listFiles(); // 该文件目录下文件全部放入数组
if (files != null) {
for (int i = 0; i < files.length; i++) {
System.out.println(files[i].getName()); //打印 a 文件夹下的所有文件名
}
}
⑥用字符流往文件内输入字符
//在aaa.txt 中 输入 hello 我好开心,作业很少
FileWriter fileWriter = new FileWriter("F:\\1-java/a/aaa.txt");
String sr = "hello 我好开心,作业很少";
fileWriter.write(String.valueOf(sr));
fileWriter.flush();
fileWriter.close();