java - 在groovy中创建 map

标签 java groovy

我有以下文件:

name = David 
city = sydney
COuntry = Australia

我正在尝试使用 groovy 创建一个 HashMap ,并将其分割为 = 并将其存储在一个数组中,以便 part[0] 包含 before equal 和 part[1] 包含在等于之后。然后我尝试在这里创建一张 map 。

所需输出:

def mapedData = [name :david , city : sydney , country :australia ]

我的尝试:

String s=""
def myfile = new File("C:/Users/.............")
BufferedReader br = new BufferedReader(new FileReader(myfile));

Map<String, String> map = new HashMap<String, String>();
while((s = br.readLine()) != null) {
    if(!s.startsWith("#")) {
        StringTokenizer st=new StringTokenizer(s, "=")
            while(st.hasMoreElements()) {
                String line=st.nextElement().toString().trim()
                print line
            }
        }
    }
}

最佳答案

如果您想从 Groovy 中的文件创建映射,您可以使用 java.util.Properties 来实现。这是一个例子:

def file = new File("C:\\stackoverflow\\props.properties")
def props = new Properties()
file.withInputStream { stream ->
    props.load(stream)
}
println(props)

打印出:

[key1:value1, key2:value2]

props.properties 文件包含以下内容:

# Stackoverflow test
key1 = value1
key2 = value2

关于java - 在groovy中创建 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47469472/

相关文章:

java - 通过 JDBC 将可变长度的外键列表作为参数传递给存储过程,然后使用这些列表将行插入表中

java - 如何获取CIELAB图像a轴和b轴上的像素值

java - 没有类型作为方法参数的泛型 - 无法解析它的字段类型

Gradle 自定义任务扩展 Exec 抛出错误

Grails 示例和示例代码片段

java - Tomcat 8 Http状态404 请求的资源不可用

java - SSL 连接超时和读取超时

java - 设置 Titan 和 Cassandra - 无法实例化存储管理器类

java - 比较两个顺序不同的数组

spring - Grails Spring 安全困惑