scala当中的文件操作和网络请求
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当中的文件操作和网络请求的更多相关文章
- scala简单的文件操作
1.scala写入文件操作 package com.test import java.io.File import java.io.PrintWriter /** * scala文件写入 */ obj ...
- Scala文件操作
Scala中的文件操作基本可以依赖于Java的实现,包括输入.输出流的使用. object FileOps {def main(args: Array[String]) { val file = So ...
- android 网络请求Ⅰ
本章讲述在android开发中,常用的网络请求操作.网络请求利用android基本的HttpURLConnection连接URL和开源网络请求包AsyncHttpClient.本次网络请求以调取天气接 ...
- Android网络请求心路历程
HTTP请求&响应 既然说从入门级开始就说说Http请求包的结构.一次请求就是向目标服务器发送一串文本.什么样的文本?有下面结构的文本.HTTP请求包结构 例子: 1 2 3 4 5 6 7 ...
- Android 网络请求详解
我们知道大多数的 Android 应用程序都是通过和服务器进行交互来获取数据的.如果使用 HTTP 协议来发送和接收网络数据,就免不了使用 HttpURLConnection 和 HttpClient ...
- AFNetworking网络请求的get和post步骤
1.首先通过第三方:CocoaPods下载AFNetworking 1.1.先找到要查找的三方库:pod search + AFNetworking 1.2.出来一堆列表页面,选择三方库最新版本命 ...
- 08_python_文件操作
一.初始文件操作 打开⽂件的⽅式: r, w, a, r+, w+, a+, rb, wb, ab, r+b, w+b, a+b 默认使⽤的是r(只读)模式 f = open("少妇嫩模.t ...
- 4.2.1 网络请求之HTTP
HTTP请求&响应:(常用的只有Post与Get,还有Head/put/delete/connect/options/trace) Get&Post(建议用post规范参数传递方式,并 ...
- Linux&c 文件操作,线程进程控制,网络编程,简单知识点梳理
一:文件操作 在linux下,一切皆文件,目录是文件,称为目录文件,内容是该目录的目录项(但是目录只有内核可以编辑,超级用户也不可以编辑),设备也是设备文件,在/dev存放的就是一些设备文件,linu ...
随机推荐
- Go RabbitMQ(五)主题
RabbitMQ topic 在之前我们将交换器的类型从fanout设置为direct后能够根据我们的选择获得响应的消息,虽然改良我们的消息日志系统,但是还有很多局限性,比如它不能基于多个标准进行路由 ...
- 《Think Python》第6章学习笔记
目录 6.1 返回函数值(Return values) 6.2 增量式开发(Incremental development) 6.3 组合(Composition) 6.4 布尔函数(Boolean ...
- PgAdmin4连接数据库报错:Unable to connect to server: ERROR: unrecognized configuration parameter "bytea_output"
原因: PgAdmin 4不再支持PostgreSQL 9.0 和更早的版本 我的版本是8.2.15 template1=# select version(); version ----------- ...
- 存储过程中拼写sql并执行
直接上代码吧,根据不同的条件拼写sql后并执行 ALTER PROCEDURE [dbo].[usp_Statistic_WJB_DZSK_ZT] ( @year int, @half int,--0 ...
- 【angular5项目积累总结】优秀组件以及应用实例
1.手机端 图片预览组件 组件:sideshow 效果图:(预览图全屏 且可以左右移动) code: <div class="row ui-app-s ...
- 纯代码Autolayout的三种方法
Autolayout讲解较多的就是xib和storyboard用法,本文主要记录纯代码的Autolayout使用方法: 方法1.苹果原生的方法,这种方法虽然简单但是太过繁杂,可用性很差 //宽度=su ...
- Java基础教程(2)--Java开发环境
一.JVM.JRE和JDK的概念 对于初学者来说,这三个术语出现的频率很高,而且有关这它们的问题在面试题中也会经常出现.因此,理解它们的定义.区别和联系就显得尤为重要.在学习这几个专业术语之前,我 ...
- springboot基本注解
声明Bean的注解: @Component组件 @Service service层 @Respository dao层 @Controller 注入Bean的注解: @Autowired Spring ...
- poj 2992 Divisors (素数打表+阶乘因子求解)
Divisors Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9617 Accepted: 2821 Descript ...
- SQL导出到Excel 存储过程
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_exporttb]') and OBJECTPROPER ...