scala语言入门(五)操作外部数据 及 项目实战
【摘要】 一、scala 操作本地文件,网络url
import scala.io.Source object FileApp { def main(args: Array[String]): Unit = { val file = Source.fromFile("D:/HostKeyDB.txt")(scala.io.Codec.UTF8) def readLine():...
一、scala 操作本地文件,网络url
-
import scala.io.Source
-
-
object FileApp {
-
-
def main(args: Array[String]): Unit = {
-
-
val file = Source.fromFile("D:/HostKeyDB.txt")(scala.io.Codec.UTF8)
-
-
def readLine(): Unit = {
-
for (line <- file.getLines()) {
-
println(line)
-
}
-
}
-
-
// readLine()
-
-
def readChar(): Unit = {
-
for (ele <- file) {
-
print(ele + " ")
-
}
-
}
-
-
readChar()
-
-
def readNet(): Unit = {
-
val file = Source.fromURL("http://www.baidu.com")
-
for (line <- file.getLines()) {
-
println(line)
-
}
-
}
-
-
readNet()
-
}
-
-
}
二、scala 操作mysql 数据库
-
import java.sql
-
import java.sql.DriverManager
-
-
-
/**
-
* @author DuanZhaoXu
-
* @ClassName:
-
* @Description:
-
* @date 2018年12月20日 11:03:00
-
*/
-
object MysqlApp {
-
-
def main(args: Array[String]): Unit = {
-
-
// val driver="com.mysql.jdbc.Driver"
-
val url="jdbc:mysql://192.168.42.199:3306/agri_devframe"
-
val username="root"
-
val password="123456"
-
-
var connection:sql.Connection=null
-
try{
-
-
// make the connection
-
classOf[com.mysql.jdbc.Driver]
-
connection=DriverManager.getConnection(url,username,password)
-
-
val statement=connection.createStatement()
-
val sql="select * from DEV_USER"
-
val resultSet=statement.executeQuery(sql)
-
-
while (resultSet.next) {
-
val title=resultSet.getString("NAME")
-
val date=resultSet.getString("EMAIL")
-
val password = resultSet.getString("PASSWORD")
-
-
println(s"$title, $date")
-
}
-
-
}catch {
-
case e:Exception=>e.printStackTrace()
-
}finally {
-
if(connection!=null) {
-
connection.close()
-
}
-
}
-
-
}
-
-
}
三、scala 操作 xml 文件
-
import java.io.{FileInputStream, InputStreamReader}
-
import scala.xml.XML
-
-
-
-
/**
-
* @author DuanZhaoXu
-
* @ClassName:
-
* @Description:
-
* @date 2018年12月20日 11:09:58
-
*/
-
object XMLApp {
-
-
def main(args: Array[String]): Unit = {
-
-
//loadXML()
-
-
println("=======================")
-
-
readXMLAttr()
-
}
-
-
def readXMLAttr(): Unit = {
-
val xml = XML.load(this.getClass.getClassLoader.getResource("test.xml"))
-
-
// 找symbol下的units
-
val unit = xml \ "symbol" \ "units"
-
-
println(unit)
-
-
println("----------------------")
-
-
// 找所有的units
-
val fields = xml \\ "units"
-
for (field <- fields) {
-
println(field)
-
}
-
-
println("----------------------")
-
-
// 找tiker属性
-
// 方式一
-
// val fieldAttrs = (xml \ "symbol").map(_ \ "@ticker")
-
// 方式二
-
val fieldAttrs = (xml \ "symbol" \\ "@ticker")
-
for (fieldAttr <- fieldAttrs) {
-
println(fieldAttr)
-
}
-
-
println("----------------------")
-
-
// 过滤出指定ticker的symbol
-
// 方式一
-
// val filters = (xml \\ "symbol").filter(_.attribute("ticker").exists(_.text.equals("apple")))
-
// 方式二
-
val filters = (xml \\ "symbol").filter(x => ((x \ "@ticker").text).equals("apple"))
-
for (filter <- filters) {
-
println(filter)
-
}
-
-
println("----------------------")
-
-
(xml \ "symbol" \ "units").map(x=>(x.text )).foreach(println)
-
}
-
-
def loadXML(): Unit = {
-
-
//方式一
-
// val xml = XML.load(this.getClass.getClassLoader.getResource("test.xml"))
-
// println(xml)
-
-
// 方式二
-
// val xml = XML.load(new FileInputStream(
-
// "D:/test.xml"))
-
// println(xml)
-
-
// 方式三
-
val xml = XML.load(new InputStreamReader(new FileInputStream(
-
"D:/test.xml")))
-
-
println(xml)
-
}
-
-
-
}
四、scala 和 java 混编代码实现 数据库,表增删改查demo
码云地址 :https://gitee.com/dzxmy/scala-boot-java
文章来源: blog.csdn.net,作者:血煞风雨城2018,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/qq_31905135/article/details/85115396
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)