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(","))

}

 

scala当中的文件操作和网络请求的更多相关文章

  1. scala简单的文件操作

    1.scala写入文件操作 package com.test import java.io.File import java.io.PrintWriter /** * scala文件写入 */ obj ...

  2. Scala文件操作

    Scala中的文件操作基本可以依赖于Java的实现,包括输入.输出流的使用. object FileOps {def main(args: Array[String]) { val file = So ...

  3. android 网络请求Ⅰ

    本章讲述在android开发中,常用的网络请求操作.网络请求利用android基本的HttpURLConnection连接URL和开源网络请求包AsyncHttpClient.本次网络请求以调取天气接 ...

  4. Android网络请求心路历程

    HTTP请求&响应 既然说从入门级开始就说说Http请求包的结构.一次请求就是向目标服务器发送一串文本.什么样的文本?有下面结构的文本.HTTP请求包结构 例子: 1 2 3 4 5 6 7 ...

  5. Android 网络请求详解

    我们知道大多数的 Android 应用程序都是通过和服务器进行交互来获取数据的.如果使用 HTTP 协议来发送和接收网络数据,就免不了使用 HttpURLConnection 和 HttpClient ...

  6. AFNetworking网络请求的get和post步骤

      1.首先通过第三方:CocoaPods下载AFNetworking 1.1.先找到要查找的三方库:pod search + AFNetworking 1.2.出来一堆列表页面,选择三方库最新版本命 ...

  7. 08_python_文件操作

    一.初始文件操作 打开⽂件的⽅式: r, w, a, r+, w+, a+, rb, wb, ab, r+b, w+b, a+b 默认使⽤的是r(只读)模式 f = open("少妇嫩模.t ...

  8. 4.2.1 网络请求之HTTP

    HTTP请求&响应:(常用的只有Post与Get,还有Head/put/delete/connect/options/trace) Get&Post(建议用post规范参数传递方式,并 ...

  9. Linux&c 文件操作,线程进程控制,网络编程,简单知识点梳理

    一:文件操作 在linux下,一切皆文件,目录是文件,称为目录文件,内容是该目录的目录项(但是目录只有内核可以编辑,超级用户也不可以编辑),设备也是设备文件,在/dev存放的就是一些设备文件,linu ...

随机推荐

  1. 查看windows系统块大小

    C:\Users\xyw>fsutil fsinfo ntfsinfo 用法 : fsutil fsinfo ntfsinfo <volume pathname> 例如 : fsut ...

  2. Compiler Principle

    1.Einleitung 1.1 Der Überblick über Compiler 1.1.1 Lexikalische Analyse Die lexikalische Analyse zer ...

  3. CSS- 文本超出指定宽度后隐藏并显示为省略号

    一般的文字截断(适用于内联与块): .text-overflow { display:block;/*内联对象需加*/ width:25em; word-break:keep-all;/* 不换行 * ...

  4. sublime text3 破解及常用插件

    sublime text3 下载 破解 submelime Text > About sublime Text //看是否注册并 查看当前的版本 然后百度或google搜索 'sublime t ...

  5. MySQL数据导出为Excel, json,sql等格式

    MySQL数据经常要导出为Excel, json,sql等格式,通过步骤都很多,麻烦,现在通过Treesoft可以方便的导出你要的数据格式. 1.在线执行SQL,在数据列表中有相应按钮,方便的将数据导 ...

  6. Spring入门(三)— AOP注解、jdbc模板、事务

    一.AOP注解开发 导入jar包 aop联盟包. aspectJ实现包 . spring-aop-xxx.jar . spring-aspect-xxx.jar 导入约束 aop约束 托管扩展类和被扩 ...

  7. HDU3629:Convex

    传送门 求凸四边形的个数 转化成总数减去凹四边形的个数 凹四边形一定是一个三角形中间包含的另外一个点 那么枚举被包含的点,其它的对于这个点极角排序 被包含不好算,算总数减去不被包含的 枚举三角形的一个 ...

  8. 精选10款HTML5手机模板

    1.Stroller | Mobile & Tablet Responsive Template 演示地址   购买地址 2.Ocean Mobile Template 演示地址   购买地址 ...

  9. redux-devtools的使用

    1.浏览器里安装redux-devtools 2.在项目的入口文件里  找到 createStore函数调用的地方,给它加第二个参数 window.__REDUX_DEVTOOLS_EXTENSION ...

  10. System Monitor ArcGIS系统监控利器

    System Monitor是Esri推出的GIS系统监控工具,对于GIS数据中心的运维人员是难得的利器.早期版本是开源免费的解决方案,在今年的Esri 全球用户大会上,Esri宣布将发行商业版的Sy ...