1、scala中文件读写
//1、Java中的文件读取
val fs = new FileReader("data/students.txt")
val br = new BufferedReader(fs)
var line: String = br.readLine()
while (line != null) {
println(line)
line = br.readLine()
}
println("*" * 60)
//2、Scala中文件读取
//Source读取文件
val source: BufferedSource = Source.fromFile(
"data/students.txt")
//返回一个迭代器
//迭代器只能遍历一次
val strings: Iterator[String] = source.getLines()
for (elem <- strings) {
println(elem)
}
println("*"*62)
//3、优化,链式编程
for (elem <- Source.fromFile("data/students.txt").getLines()) {
println(elem)
}
//4、链式编程,函数式编程
Source.fromFile("data/students.txt").getLines().foreach(println)
2、写文件就是FileWriter
3、使用JDBC连接数据库
Class.forName("com.mysql.jdbc.Driver")
val conn: Connection = DriverManager.getConnection("jdbc:mysql://master:3306/shuku", "root", "123456")
val sql: String = "select * from student where age>=?"
val statement: PreparedStatement = conn.prepareStatement(sql)
statement.setString(1, "23")
val res: ResultSet = statement.executeQuery()
//变量名前面加了_需要加{
}引用
while (res.next()) {
val _id = res.getString("id")
val _name = res.getString("name")
val _age = res.getString("age")
val _gender = res.getString("gender")
val _clazz = res.getString("clazz")
val str: String = s"${_id} ${_name} ${_age} ${_gender} ${_clazz}"
println(str)
}
res.close()
statement.close()
conn.close()