String 如何在不知道文件路径的情况下将Groovy中的文件读入字符串?

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的形式获取内容

延伸到

是否可以在不知道文件路径的情况下将文件读入字符串我只有一个'def'/type-less参数作为文件,这就是为什么我不能只做一个.getAbsolutePath()

为了详细说明这一点,以下是我如何导入该文件(它来自一个临时的.jar文件)


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
    }
  }
}