Scala文件读写(四)

package scalaBasic

import scala.io.Source
import java.io.FileWriter

object FileDemo {
  def main(args: Array[String]): Unit = {
    writeFile
    readFile
  }

  /**
    * 读文件
    */
  def readFile(): Unit = {
    val file = Source.fromFile("D:\\IdeaProResource\\MobileNote\\test.txt")
    // 获取网页数据
    val webFile = Source.fromURL("http://blog.csdn.net/yizheyouye/article/details/49183265")
    val lines = file.getLines()
    for (line <- lines) println(line)

    val lines2 = webFile.getLines()
    for (line <- lines2)
      println(line)
  }

  /**
    * 写文件
    */
  def writeFile(): Unit = {
    //    val out = new FileWriter("D:\\IdeaProResource\\MobileNote\\test.txt") // 默认覆盖添加
    val out = new FileWriter("D:\\IdeaProResource\\MobileNote\\test.txt", false) // true为追加
    for (i <- 1 to 10) {
      out.write(i.toString + "\r\n")
      //      out.append(i.toString + "\r\n") // 查看源码发现底层调用的也是write方法
      out.flush()
      println(i)
    }
    out.close()
  }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Scala是一种强大的编程语言,它支持读写各种数据格式,包括tfrecord。tfrecord是一种用于存储大型数据集的二进制文件格式,被广泛用于训练深度学习模型。 要在Scala中读取tfrecord文件,我们可以使用TensorFlow的Scala API。首先,我们需要导入必要的依赖项,包括TensorFlow和相关的Scala库。 ```scala import org.tensorflow._ import org.tensorflow.example._ ``` 然后,我们可以使用TensorFlow的`TFRecordReader`类来读取tfrecord文件。首先,创建一个`TFRecordReader`对象,并指定要读取的文件路径。 ```scala val reader = new TFRecordReader() reader.initialize(new TFRecordReader.Options().setInputFiles("path/to/tfrecord/file.tfrecord")) ``` 接下来,我们可以使用`reader.getNext`方法逐个读取tfrecord文件中的记录,并将其转换为TensorFlow的`Example`对象。 ```scala var record = reader.getNext() while (record != null) { val example = Example.parseFrom(record.toByteArray()) // 对Example对象进行处理,例如打印其中的特征值 println(example.getFeatures) // 读取下一个记录 record = reader.getNext() } ``` 类似地,在Scala中写入tfrecord文件也非常简单。我们可以使用TensorFlow的`TFRecordWriter`类来创建一个tfrecord文件,并将数据写入其中。 ```scala import java.nio.file.Files import java.nio.file.Paths // 创建一个tfrecord文件的输出流 val writer = new TFRecordWriter(Files.newOutputStream(Paths.get("path/to/output.tfrecord"))) // 创建一个Example对象,添加特征并写入文件 val exampleBuilder = Example.newBuilder() exampleBuilder.getFeaturesBuilder().putFeature("feature_key", Feature.newBuilder().setInt64List(Int64List.newBuilder().addValue(1)).build()) writer.write(exampleBuilder.build().toByteArray()) // 关闭输出流 writer.close() ``` 在这个示例中,我们创建了一个`TFRecordWriter`对象,并指定了要写入的tfrecord文件的路径。然后,我们创建一个`Example`对象,并使用`exampleBuilder`设置了一个特征。最后,我们通过调用`write`方法将`Example`对象写入tfrecord文件,并通过调用`close`方法关闭输出流。 通过使用TensorFlow的Scala API,我们可以很容易地读写tfrecord文件,并在Scala中处理大型数据集。 Scala 提供了丰富的库和功能,使得读写tfrecord文件变得非常方便和高效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值