第21节:Scala文件和xml操作(上)
来源:互联网 发布:php tmp目录 编辑:程序博客网 时间:2024/06/05 16:12
1 spark源码的文件和xml使用的源码鉴赏
2 scala文件和xml操作实战
package com.dtspark.scala.basics
import java.io.ByteArrayOutputStream
import java.io.ObjectInputStream
import java.io.ByteArrayInputStream
import java.io.ObjectOutputStream
import java.io.FileOutputStream
import java.io.FileInputStream
import scala.io.Source
//序列化
@SerialVersionUID(99L) class DTspark(val name:String) extends Serializable
object HellowFileOpps extends App{
val dtspark=new DTspark("Spark")
/** Serialize an object using Java serialization 序列化*/
def serialize[T](o: T): Array[Byte] = {
val bos = new ByteArrayOutputStream()//内存输出流和磁盘输出流从操作的层面上讲是一样的
val oos = new ObjectOutputStream(bos)
oos.writeObject(o)
oos.close()
bos.toByteArray
}
println(serialize(dtspark))
/** Deserialize an object using Java serialization 反序列化*/
def deserialize[T](bytes: Array[Byte]): T = {
val bis = new ByteArrayInputStream(bytes)
val ois = new ObjectInputStream(bis)
ois.readObject.asInstanceOf[T]
}
println(deserialize[DTspark](serialize(dtspark)).name)
/** 文件输出流序列化 以下都是依赖jvm操作*/
def serializefile[T](o: T) = {
//内存输出流和磁盘输出流从操作的层面上讲是一样的
val bos=new FileOutputStream("F:\\test\\context.txt")
val oos = new ObjectOutputStream(bos)
oos.writeObject(o)
oos.close()
}
/** 文件输入流序列化*/
def desserializefile[T](o: T) = {
//内存输出流和磁盘输出流从操作的层面上讲是一样的
val bos=new FileInputStream("F:\\test\\context.txt")
val oos = new ObjectInputStream(bos)
oos.readObject().isInstanceOf[T]
}
serializefile(dtspark)
//scala自己的文件操作
for(line<-Source.fromFile("F:\\test\\test1.txt","GBK").getLines().toArray) println(line)
for(item<-Source.fromFile("F:\\test\\test1.txt","GBK")) println(item)
//从网络读取
println(Source.fromURL("http://spark.apache.org/","UTF-8").mkString)
}
控制台输出:
[B@12a3a380
Spark
生活不止眼前的苟且
还有诗和远方的田野
生
活
不
止
眼
前
的
苟
且
还
有
诗
和
远
方
的
田
野
- 第21节:Scala文件和xml操作(上)
- 第21课:scala文件和xml操作实战及spark源码鉴赏
- scala文件和目录操作
- 第22节:Scala集合和高级函数操作
- scala加载和写入外部xml文件
- 【scala io】scala io操作 txt文件读取和写入
- Scala文件操作----(读取和写入字符)
- Scala的XML操作
- scala xml操作
- scala xml操作
- scala文件操作
- Scala 文件操作
- scala 文件写入操作
- Scala File 文件操作
- scala文件操作
- Scala 中的文件操作
- Scala-文件操作
- scala中XMl基础操作
- C++输入输出的格式控制2
- 关于严格模式的简单介绍
- 百度大脑险胜最强大脑背后:200万人2亿照片做训练
- Android拍照并显示
- 异步操作的一个小案例,在h1中加入一个文本内容(GET请求)
- 第21节:Scala文件和xml操作(上)
- HAUTOJ G题
- 分而治之(D&C)
- 检测全局鼠标动作
- opencv显示大图--利用鼠标在固定窗口内显示大图
- LeetCode (开始)
- Android全套动画使用技巧
- CoordinatorLayout的使用如此简单
- JWS的一次排错经历