【问题标题】:Error Creating Text File Java创建文本文件 Java 时出错
【发布时间】:2012-10-02 20:51:50
【问题描述】:

我正在使用metadata extractor API 从图像中提取元数据。然后,我使用 Java 创建一个包含所有数据的 .txt 文件。但是,当我运行文件时,我有 nullpointexception。

我知道某些内容正在输出,因为它在 NetBeans 提供的输出框中打印出来。

创建文件的类:

private void metadataImageButtonMouseClicked(java.awt.event.MouseEvent evt) {                                                 
    System.out.println(MetaData.getTags());
    try {
    File report;
    report = new File("report.txt");

        report.createNewFile();
        FileWriter kmlStream = new FileWriter("report.txt");
        try (BufferedWriter out = new BufferedWriter(kmlStream)) {
            out.write(MetaData.allTags);
            statusUpdateMessage.setText("Report file created");
            System.out.println("New file \"Report.txt\" has been created to the current directory");
        }
    } catch (IOException ex) {
        Logger.getLogger(MetaDataExtractor.class.getName()).log(Level.SEVERE, null, ex);
    }

检索所有元数据

    Metadata metadata = ImageMetadataReader.readMetadata(jpegFile);

    for (Directory directory : metadata.getDirectories()) {
        for (Tag allTags : directory.getTags()) {
            System.out.println(allTags);
        }
    }
} catch (ImageProcessingException ex) {
    Logger.getLogger(MetaData.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
    Logger.getLogger(MetaData.class.getName()).log(Level.SEVERE, null, ex);
}
return allTags;

我的第一个想法是将返回类型设为字符串,但它不允许我这样做。欢迎任何建议,因为我不擅长 Java。 Here are the errors

提前致谢。

【问题讨论】:

    标签: java file text metadata-extractor


    【解决方案1】:

    通过阅读JDK附带的java.io.Writer的源代码,您可以推断您正在向Writer写入一个空字符串,这会导致NullPointerException。这发生在 MetaDataExtractor.metadataImageButtonMouseClicked(),在文件 MetaDataExtractor.java 的第 541 行。

    在写入之前检查您的字符串不为空。

    【讨论】:

      【解决方案2】:

      这是错误跟踪的第一行:

      at java.io.Writer.write(Writer.java:157)
      at MetaDataExtractor.metadataImageButtonMouseClicked(MetaDataExtractor.java:541)
      

      问题出在metadataImageButtonMouseClicked(e),尤其是在第541 行,您在那里找到了哪条指令?涉及哪些变量?这应该会有所帮助

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-10-28
        • 2013-09-03
        • 2021-04-26
        • 1970-01-01
        • 1970-01-01
        • 2018-08-17
        相关资源
        最近更新 更多