读取文件
三种方式
getline,buffered,mkString
package com.bigdata.scala
import scala.io.{BufferedSource, Source}
object DemoReadFile {
//以Scala方式读取文件,一行一行读
def main(args: Array[String]): Unit = {
val source: BufferedSource = Source.fromFile("scala/data/words.txt")
val iter: Iterator[String] = source.getLines()
iter.foreach(println)
println("="*100)
//字符流的方式遍历文件,单个字符遍历
val source2: BufferedSource = Source.fromFile("scala/data/words.txt")
val buffered: BufferedIterator[Char] = source2.buffered
while (buffered.hasNext){
print(buffered.next())
}
println("="*100)
//当文件较小时,将整个文件作为一个字符串返回
val source3: BufferedSource = Source.fromFile("scala/data/words.txt")
val string: String = source3.mkString
println(string)
//关闭文件
source.close()
source2.close()
source3.close()
}
}
JDBC连接
package com.bigdata.scala
import java.sql.{Connection, DriverManager, PreparedStatement, ResultSet}
object DemoJDBC {
def main(args: Array[String]): Unit = {
//使用scala连接数据库,用的是java中的依赖进行,整体和java中类似
val conn: Connection = DriverManager.getConnection("jdbc:mysql://rm-bp1h7v927zia3t8iwho.mysql.rds.aliyuncs.com:3307/stu023", "shujia23", "123456")
val statement: PreparedStatement = conn.prepareStatement("select id,name,age,gender,clazz from student where clazz=?")
statement.setString(1, "文科四班")
val set: ResultSet = statement.executeQuery()
while (set.next()) {
val name: String = set.getString("name")
val age: String = set.getString("age")
val id: String = set.getString("id")
val gender: String = set.getString("gender")
val clazz: String = set.getString("clazz")
println(s"$id,$name,$age,$gender,$clazz")
}
//关闭连接
set.close()
statement.close()
conn.close()
}
}