scala当中的文件操作和网络请求的实现方法
2019-06-17 10:05
651 查看
1、读取文件当中每一行的数据
def main(args: Array[String]): Unit = { //注意文件的编码格式,如果编码格式不对,那么读取报错 val file: BufferedSource = Source.fromFile("F:\\files\\file.txt","GBK"); val lines: Iterator[String] = file.getLines() for(line <- lines){ println(line) } //注意关闭文件 file.close() }
如果要将文件内容转数组,直接调用toArray即可
2、读取词法单元和数字
如果想将以某个字符或某个正则表达式分开的字符成组读取,可以这么做:
def main(args: Array[String]): Unit = { val file: BufferedSource = Source.fromFile("F:\\files\\file2.txt","GBK"); val split: Array[String] = file.mkString.split(" ") println(split.mkString("\t")) file.close() }
3、读取网络资源、文件写入、控制台操作
1、读取网络资源
def main(args: Array[String]): Unit = { val source: BufferedSource = Source.fromURL("http://www.baidu.com") val string: String = source.mkString println(string) source.close() }
2、文件写入操作
def main(args: Array[String]): Unit = { val writer = new PrintWriter("F:files\\printWriter.txt") for(i <- 1 to 100){ writer.println(i) writer.flush() } writer.close() }
3、控制台交互操作
def main(args: Array[String]): Unit = { //控制台交互--老API print("请输入内容:") val consoleLine1 = Console.readLine() println("刚才输入的内容是:" + consoleLine1) //控制台交互--新API print("请输入内容(新API):") val consoleLine2 = StdIn.readLine() println("刚才输入的内容是:" + consoleLine2) }
4、scala当中的序列化
@SerialVersionUID(1L) class Person extends Serializable{ override def toString = name + "," + age val name = "Nick" val age = 20 } object PersonMain extends App{ override def main(args: Array[String]): Unit = { import java.io.{FileOutputStream, FileInputStream, ObjectOutputStream, ObjectInputStream} val nick = new Person val out = new ObjectOutputStream(new FileOutputStream("Nick.obj")) out.writeObject(nick) out.close() val in = new ObjectInputStream(new FileInputStream("Nick.obj")) val saveNick = in.readObject() in.close() println(saveNick) } }
5、scala当中的正则表达式
我们可以通过正则表达式匹配一个句子中所有符合匹配的内容,并输出:
def main(args: Array[String]): Unit = { import scala.util.matching.Regex val pattern1 = new Regex("(S|s)cala") val pattern2 = "(S|s)cala".r val str = "Scala is scalable and cool" println((pattern2 findAllIn str).mkString(",")) }
以上就是本文的全部内容,希望对大家的学习有所帮助
您可能感兴趣的文章:
相关文章推荐
- 三种方法实现php网络请求(表单操作文件上传)
- 网络数据请求实践二:多文件上传的实现方法
- 2009-11-13 08:37 实现文件读写操作的几种方法
- Java I/O内存映射方法实现对大文件的内存操作
- linux awk 多文件操作2种实现方法
- ios网络学习------3 用非代理方法实现异步post请求
- PHP 实现文件压缩解压操作的方法
- javabean操作文件正确,但是Jsp调用javabean时文件路径出错问题解决之JavaBean访问本地文件实现路径无关实现方法
- Scala 深入浅出实战经典 第41讲:List继承体系实现内幕和方法操作源码揭秘
- 文件操作些许方法实现
- iOS 使用Moya网络请求的实现方法
- 实现文件读写操作的几种方法
- 操作文件处理常用方法(Java实现)
- Android Volley网络请求框架 实现post方法并带Map参数上传
- List继承体系实现内幕和方法操作源码揭秘之Scala学习笔记-32
- 实现iOS中发起异步网络请求,需要等待其返回的数据才能执行下一步操作
- Android 利用an框架快速实现网络请求(含下载上传文件)
- Android 快速实现防止网络重复请求&按钮重复点击的方法
- 在使用win 7 无线承载网络时,启动该服务时,有时会提示:组或资源的状态不是执行请求操作的正确状态。 网上有文章指出,解决这个问题的方法是在设备管理器中启动“Microsoft托管网络虚拟适配
- c++ 操作共享文件, WnetAddConnection2是windows网络函数 可实现网络驱动器的映射和断开