scala IO 连接Jdbc
IO:
package scala import java.io.{BufferedReader, BufferedWriter, FileReader, FileWriter} import scala.io.{BufferedSource, Source} object Demo7IO { def main(args: Array[String]): Unit = { /** * 文件读写 * */ //使用java方式 //在scala里面默认异常抛出 val fileReader = new FileReader("data/students.txt") //缓冲流 val bufferedReader = new BufferedReader(fileReader) //读取第一行 var line: String = bufferedReader.readLine() while (line!=null){ println(line) //读取下一行 line =bufferedReader.readLine() } bufferedReader.close() println("=" * 100) /** * 使用scala读数据 * */ val source: BufferedSource = Source.fromFile("data/students.txt") /** * 迭代器: * 只能迭代一次 * */ //获取所有行 ,得到一个迭代器 val lines: Iterator[String] = source.getLines() for (line <- lines) { println(line) } //链式调用 val iterator: Iterator[String] = Source.fromFile("data/students.txt").getLines() /** * 保存数据使用java * 输出流 */ val bufferedWriter = new BufferedWriter(new FileWriter("data/out")) for (line <- iterator) { bufferedWriter.write(line) bufferedWriter.newLine() bufferedWriter.flush() } bufferedWriter.close() } }
Jdbc :连接数据库 (先打开虚拟机,连上xhell,然后连接mysql)
package scala import java.sql.{Connection, DriverManager, PreparedStatement, ResultSet} class Demo8Jdbc { def main(args: Array[String]): Unit = { //加载驱动 Class.forName("com.mysql.jdbc.Driver") //创建连接 val conn: Connection = DriverManager.getConnection("jdbc:mysql://master:3306/student","root","123456") //执行sql 查询数据 val stat: PreparedStatement = conn.prepareStatement("select * from student ") //执行查询返回结果有 val resultSet: ResultSet = stat.executeQuery() //解析数据 while (resultSet.next()){ //通过字段名去数据 val id: Int = resultSet.getInt("id") val name: String = resultSet.getString("name") val age: Int = resultSet.getInt("age") val clazz: String = resultSet.getString("clazz") val gender: String = resultSet.getString("gender") println(id + "\t" + name + "\t" + age + "\t" + gender + "\t" + clazz) } } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能