ExifTool:删除图像的所有元数据,java 应用程序中的一个除外

ExifTool: Removing all metadata of an image except one in java application

我想删除图像的所有元数据,除了 "Copyright"。我正在使用这个的 exiftool。命令是 "exiftool -all= -tagsFromFile @ -copyright Tunis_Bab_Souika_1899.jpg"。但是当我在 [=18= 中执行此操作时] 应用程序。它以某种方式删除了所有标签。

这是代码片段 -

    val outputConsumer = ArrayListOutputConsumer()
    val exiftoolCmd = ExiftoolCmd()
    exiftoolCmd.setOutputConsumer(outputConsumer)
    val operation = ETOperation()
    println("File name" + sourceImage.toFile().absolutePath)
    operation.addImage(sourceImage.toFile().absolutePath)
    // exiftool -all= -tagsFromFile @ -copyright Tunis_Bab_Souika_1899.jpg
    operation.addRawArgs("-all=")
    operation.addRawArgs("-tagsFromFile @")
    operation.addRawArgs("-copyright")

    println("About to execute")
    try {exiftoolCmd.run(operation)
        println("Inside try")
    } catch (e: java.lang.Exception) {
        throw RuntimeException(e)
    }
    val output = outputConsumer.output
        .stream()
        .map { obj: String -> obj.trim { it <= ' ' } }
        .collect(toList())
    println("ooutput$output")

回答我的问题 - 这对我有用 -

 operation.delTags("all")
            operation.tagsFromFile("@")
            operation.getTags("copyright")
            operation.addImage(sourceImage.toFile().absolutePath)