String 如何在不知道文件路径的情况下将Groovy中的文件读入字符串?
延伸到 是否可以在不知道文件路径的情况下将文件读入字符串我只有一个'def'/type-less参数作为文件,这就是为什么我不能只做一个.getAbsolutePath() 为了详细说明这一点,以下是我如何导入该文件(它来自一个临时的.jar文件)String 如何在不知道文件路径的情况下将Groovy中的文件读入字符串?,string,file,groovy,io,String,File,Groovy,Io,延伸到 是否可以在不知道文件路径的情况下将文件读入字符串我只有一个'def'/type-less参数作为文件,这就是为什么我不能只做一个.getAbsolutePath() 为了详细说明这一点,以下是我如何导入该文件(它来自一个临时的.jar文件) ZipEntry不是文件,而是ZipEntry 这些几乎没有共同之处 使用def is=zipFile.getInputStream(条目)可以将输入流添加到zip条目内容中 然后,您可以使用is.text在默认平台编码中以String的形式获取内容
ZipEntry
不是文件,而是ZipEntry
这些几乎没有共同之处
使用def is=zipFile.getInputStream(条目)
可以将输入流添加到zip条目内容中
然后,您可以使用
is.text
在默认平台编码中以String
的形式获取内容,或者使用is.getText(“”)
在指定编码中以String
的形式获取内容,这与您在文件
对象上可以执行的操作完全相同。您所说的“文件”是什么意思?它是一个文件
对象,您在该类型较少的参数中拥有它,那么它是相同的。Groovy是duck类型,因此如果它是文件
对象,即使变量类型未定义,也可以将其用作文件
对象。你到底有什么?@Vampire不,它不是一个文件对象,编辑为explain@JonasPraem,什么是无类型参数
?你为什么要把问题放在zip文件里?你能解释一下你需要什么吗?那么你想读条目的内容还是什么?@vampile是的,我读了条目的内容
def getExportInfo(path) {
def zipFile = new java.util.zip.ZipFile(new File(path))
zipFile.entries().each { entry ->
def name = entry.name
if (!entry.directory && name == "ExportInfo") {
return entry
}
}
}