1

请原谅我对 Java 导入的困惑——我来自 Python 背景。

我有一些使用 itext 库的代码:

public static void makeADoc (Person p, String outfile) throws DocumentException,FileNotFoundException{
        Document document = new Document;
        PdfWriter.getInstance(document, new FileOutputStream(outfile));
        document.open();
        document.add(new Paragraph("Hello " + p.getFirst() + ",\n" + "You've just won the lotto!"));
        document.close();
    }

我已将适用的 itext-pdf jar 文件添加到项目的路径中。我在这个类的开头使用通配符导入语句导入了整个库:

import com.itextpdf.*;

然而 Eclipse 仍然给我 Document 对象和 DocumentException 和 FileNotFound Exception 对象的红色下划线错误。我可以选择从 itextpdf 导入 Document 类,但我的通配符语句似乎应该涵盖了这一点。这是怎么回事?

4

1 回答 1

6

FileNotFoundException不是来自包,itextpdf而是来自包java.io。因此,您还应该添加此导入语句。另请记住,使用此类通配符 import 语句有时被认为是不好的做法,因为它可能会使您的命名空间混乱。

此外,使用通配符语句,您可以导入 package 中的所有类com.itextpdf。但是,该类DocumentException在包中com.itextpdf.text而不是在包中com.itextpdf,因此您还必须添加此导入语句。请注意,在 Java 中没有子包的概念,尽管人类有时会使用这个类比。com.itextpdf.textcom.itextpdf. _

于 2013-01-24T17:34:18.560 回答