Grails如何解析文本文件?

时间:2012-07-10 13:44:29

标签: grails groovy multipart

我希望用户在表单中上传文件,并在提交时打开文件并读取每一行,以便从中获取信息以存储在数据库中。到目前为止,我只能创建一个对象并从中提取字节。

def  uploadedFile = request.getFile('name_of_file')

这让我得到一个commonsMultipartFile,但我不确定是否需要将文件流式传输到缓冲区,或者将文件保存到临时文件夹中然后尝试以这种方式打开它。

uploadedFile.getbytes()会给我一个数组[71,101,110,101,114,97,108,13,10,45,45,45,45,45,45,45,13,​​10, 83,116 ....]这不是我可以做任何事情的形式。

我需要能够打开文件并逐行阅读。我可以用commonsMultipartFile做到这一点 - 它的选项看起来有点限制。

2 个答案:

答案 0 :(得分:5)

CommonsMultipartFile有一个getInputStream()方法,它将返回InputStream,您可以在其上调用任何Groovy增强功能,例如:

request.getFile('name_of_file').inputStream.eachLine { line ->
    /* Parsing logic */
}

答案 1 :(得分:0)

首先将它保存到目录。然后解析并做你需要做的事。