2017-06-09 8 views
0

this questionの拡張です。ファイルへのパスを知らずに、Groovyのファイルを文字列に読み込む方法は?

ファイルへのパスを知らずにファイルを文字列に読み込むことはできますか? - 私はファイルを 'def'/type-lessパラメータとしてしか持っていないので、私は.getAbsolutePath()を実行できません。

これを詳しく説明すると、 )、一時.jarファイルから

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

"ファイル"とはどういう意味ですか?あなたがそのタイプレスのパラメータで持っている 'File'オブジェクトですか、それは同じです。 Groovyはダックタイピングなので、 'File'オブジェクトの場合は、変数型が未定義であっても' File'オブジェクトとして使用できます。あなたは正確に何を持っていますか? – Vampire

+0

@Vampireいいえファイルオブジェクトではなく、説明するために編集しました –

+0

@JonasPraem、タイプレスのパラメータは何ですか?あなたはなぜあなたの質問にzipファイルの結婚を入れましたか?何が必要なのか説明できますか? – daggett

答えて

1

ZipEntryファイルが、ZipEntryではありません。

これらはほとんど共通点がありません。

def is = zipFile.getInputStream(entry)を入力すると、ジップ入力の内容への入力ストリームが表示されます。

次に、あなたがFileオブジェクト上で行うことができますとまったく同じ、指定されたエンコーディングにStringとして内容を取得するには、デフォルトプラットフォームのエンコーディングやis.getText('<theFilesEncoding>')Stringとして内容を取得するためにis.textを使用することができます。

関連する問題