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. Rest分享

    分享提纲引言:微服务, 漂亮小姑娘,帅气小伙 这老头是个奇人,特别擅长抽象归纳和制造概念.特别是微服务这种新生的名词,都有一个特点:一解释就懂,一问就不知,一讨论就打架. REST是什么,是一个模式, ...

  2. Logback学习笔记

    Logback介绍 Logback 分为三个模块:Core.Classic 和 Access.Core模块是其他两个模块的基础. Classic模块扩展了core模块. Classic模块相当于log ...

  3. [转]emailjs-smtp-client

    本文转自:https://github.com/emailjs/emailjs-smtp-client/blob/master/README.md SMTP Client SMTP Client al ...

  4. ashx 绝对路径得到物理路径

    //先得到模板页所在的路径 string phyPath = context.Server.MapPath("/p02style.html"); //得到模板的所有内容 strin ...

  5. 解决Genymotion下载device时较慢的问题

    Genymotion添加device时,加载速度很慢: 简单方法处理如下: 1.首先找到如下目录文件名 打开后找到如下行,复制该地址直接使用迅雷等下载工具下载好该ova文件: 2.放置下载好的文件至对 ...

  6. 【C#】权限修饰符

    这个看了蛮多遍的,但是由于有一些一直不用,老是忘记,记录一下:) private  成员只能由同一个类(class)类型中的其他成员访问. family  成员可由派生类访问,不管那些类型是否在用一个 ...

  7. [javaSE] GUI(事件监听机制)

    外部动作——>事件源(组件)——>事件对象——>监听器 获取Frame对象,与上节一样 调用Frame对象的addWindowListener()方法,参数:WindowListen ...

  8. 判断php变量是否定义,是否为空,是否为真的一览表

    分类: 使用 PHP 函数对变量 $x 进行比较 表达式 gettype() empty() is_null() isset() boolean : if($x) $x = ""; ...

  9. 给<input>文本框添加灰色提示文字

    value="你的提示文字" onFocus="if(value==defaultValue){value='';this.style.color='#000'}&quo ...

  10. 前端(八):react入门

    React 特点:声明式设计.虚拟DOM.JSX.组件.数据驱动. 一.环境搭建 1.安装npm.cnpm # 安装node.js 从而安装npm,它会在当前用户家目录下生成node_moudules ...