前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >scala读取配置文件

scala读取配置文件

作者头像
机器学习和大数据挖掘
发布2019-07-02 09:20:56
2.2K0
发布2019-07-02 09:20:56
举报
文章被收录于专栏:数据挖掘数据挖掘

Class:

代码语言:javascript
复制
package libparser

import scala.collection.mutable
import scala.util.matching.Regex

class conf {

  def parser(value: String) = {
    var cs = mutable.Map.empty[String, String]

    val pattern = new Regex("""(^[a-zA-Z0-9_-]+?)\s+([\w\W]+?)$""")
    try {
      if (value != null) {
        //字符串拼接
        //value.concat("234556")
        val lines = value.split("\n")
        for (line <- lines) {
          if ((pattern findAllIn line).mkString != null) {

            if (line != ""){
              var k = line.split("=")(0).replaceAll(" ", "")
              var v = line.split("=")(1).replaceAll("=", "").replaceAll(" ", "")
              cs += (k -> v)
            }
          }
        }
      }
    }catch {
      case e: Exception => {
        println(s"!!!!!!!! " + e.getMessage)
      }
    }
  cs
  }
}

Object:

代码语言:javascript
复制
package main

import scala.io.Source
import libparser.conf

object bvs {
  def main(args: Array[String]): Unit = {
    // 读取配置文件
    val content = Source.fromFile("/bvs/bvs.conf").getLines
    val conf = new conf()
    val confmap = conf.parser(content.mkString("\n"))
    // Set(rulesfile, device2, writelocal, logfile, device1, interval)
    // println(confmap.keys)
    println(confmap("device2"))
  }

}

Conf:

代码语言:javascript
复制
interval = 86400
writelocal = False
logfile = aaa.log
rulesfile = /aaaa/bbbb/eeeee

device1 = ("ip"->"***","port"->"22","username"->"root","password"->"***")
device2 = ("ip"->"***","port"->"22","username"->"root","password"->"***")
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-04-05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档