添加到scala

时间:2018-01-08 22:42:59

标签: scala hdfs zipfile

我在hdfs中有一个zip文件,我需要在zip文件中添加一个文件并保存在同一个HDFS位置。任何例子都将不胜感激。

我有以下代码。

  val filePattern =  s"${hdfsFolderPath}/${filePath}.txt"
  val zipFilePath = hdfsWrapper.getFileNameFromPattern(s"${targetFilePath}/*.zip")

  if (hdfsWrapper.filter(filePattern).size() > 0)
    {
      Try
      {
        val zipEntry = new ZipEntry(filePattern)
         val zos: ZipOutputStream = new ZipOutputStream(new FileOutputStream(zipFilePath))
        zos.putNextEntry(zipEntry)            
        zos.closeEntry()
        zos.close()
      }
    }

想知道上面的代码是否正确?

1 个答案:

答案 0 :(得分:0)

我相信您的代码会导致zip文件被替换为仅包含新文件的新文件。有关将文件添加到zip存档的示例,请参阅Appending files to a zip file with Java

我对HDFS并不是非常熟悉,但我怀疑你也不能直接写这个,你可能要创建新的zip文件,然后在HDFS中替换它