标签分类 技术文章:
当前位置:首页 > Java技术文章 > scala当中的文件操作和网络请求的实现方法

scala文件操作和网络请求的实操方法

  • 发布时间:
  • 作者:码农之家原创
  • 点击:156

这篇文章主要知识点是关于scala、文件操作、网络请求、的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下电子书

响应式架构(消息模式Actor实现与Scala、Akka应用集成)
  • 类型:响应式大小:61.8 MB格式:PDF出版:电子工业出版社作者:沃恩
立即下载

更多Java相关的学习资源可以参阅 Java电子书程序设计电子书 等栏目。

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持码农之家。

以上就是本次给大家分享的关于Java的全部知识点内容总结,大家还可以在下方相关文章里找到java异常处理教程及实例总、 JAVA_HOME路径修改之后JDK的、 Spring Boot应用的start启动和、 等java文章进一步学习,感谢大家的阅读和支持。

上一篇:Java对象类型的判断知识点整理

下一篇:Java SDK实现离线签名代码详解

展开 +

收起 -

学习笔记
网友NO.410308

Scala之文件读取、写入、控制台操作的方法示例

Scala文件读取 E盘根目录下scalaIO.txt文件内容如下: 文件读取示例代码: //文件读取 val file=Source.fromFile("E:\\scalaIO.txt") for(line - file.getLines) { println(line) } file.close 说明1:file=Source.fromFile(“E:\scalaIO.txt”),其中Source中的fromFile()方法源自 import scala.io.Source源码包,源码如下图: file.getLines(),返回的是一个迭代器-Iterator;源码如下:(scala.io) Scala 网络资源读取 //网络资源读取 val webFile=Source.fromURL("http://spark.apache.org") webFile.foreach(print) webFile.close() fromURL()方法源码如下: /** same as fromURL(new URL(s)) */ def fromURL(s: String)(implicit codec: Codec): BufferedSource = fromURL(new URL(s))(codec) 读取的网络资源资源内容如下: !DOCTYPE htmlhtml lang="en"head meta charset="utf-8" meta http-equiv="X-UA-Compatible" content="IE=edge" meta name="viewport" content="width=device-width, initial-scale=1.0" title Apache Spark - Lightning-Fast Cluster Computing /title meta name="description" content="Apache Spark is a fast and general engine for big data processing, with built-in modules for streaming, SQL, machine learning and graph processing." !-- Bootstrap core CSS -- link href="/css/cerulean.min.css" rel="external nofollow" rel="stylesheet" link href="/css/custom.css" rel="external nofollow" rel="stylesheet" script type="text/javascript" !-- Google Analytics initialization -- var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-32518208-2']); ……

网友NO.877145

scala 读取txt文件的方法示例

文件格式分别如下 package txt object ReadTxt { def readFromTxtByLine(filePath:String) = { //导入Scala的IO包 import scala.io.Source //以指定的UTF-8字符集读取文件,第一个参数可以是字符串或者是java.io.File val source = Source.fromFile(filePath, "UTF-8") //或取文件中所有行 //val lineIterator = source.getLines() //迭代打印所有行 //lineIterator.foreach() //将所有行放到数组中 val lines = source.getLines().toArray source.close() //println(lines.size) lines } def LackingFileUtil(array:Array[String],keyMap:Map[String,String]) = { // 使用for循环和until遍历Array / ArrayBuffer // 使until是RichInt提供的函数 var lockMapList = List[Map[String,String]]() for (i - 0 until array.length){ if(i==0){ val lineArray = array(i).trim.split("\\|") lockMapList = lockMapList :+ Map("id"-lineArray(0).trim,"name"-lineArray(1).trim,"pass"-lineArray(2).trim) }else{ val lineArray = array(i).split(",") if(lineArray.length==3){ lockMapList = lockMapList :+ Map("id"-lineArray(0).trim,"name"-lineArray(1).trim,"pass"-lineArray(2).trim) }else if(lineArray.length==2){ val pass = keyMap.getOrElse(lineArray(0).trim,lineArray(1).trim) lockMapList = lockMapList :+ Map("id"-lineArray(0).trim,"name"-lineArray(1).trim,"pass"-pass.trim) }else if(lineArray.length==1){ lockMapList = lockMapList :+ Map("id"-lineArray(0).trim,"name"-"","pass"-"") }else{ lockMapList = lockMapList :+ Map("id"-"-","name"-"","pass"-"") } } //println(array(i)) } lockMapList /……

<
1
>

Copyright 2018-2019 xz577.com 码农之家

版权责任说明