Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java DOCX4J:空指针异常_Java_Docx4j - Fatal编程技术网

Java DOCX4J:空指针异常

Java DOCX4J:空指针异常,java,docx4j,Java,Docx4j,我使用WordprocessingMLPackage.createPackage()方法创建了一个新的文档文件。 现在,我试图操纵默认样式(“标题1”、“正常”等)的内容。 当我试图打印出样式属性的值时,它返回NullPointerException。我很确定这些样式在那里,因为名字可以打印出来。但当我试图访问它的段落属性时,它是空的 所以现在我想知道我是否没有正确地访问内容 private static void createStyleFile() throws InvalidFormatEx

我使用WordprocessingMLPackage.createPackage()方法创建了一个新的文档文件。 现在,我试图操纵默认样式(“标题1”、“正常”等)的内容。 当我试图打印出样式属性的值时,它返回NullPointerException。我很确定这些样式在那里,因为名字可以打印出来。但当我试图访问它的段落属性时,它是空的

所以现在我想知道我是否没有正确地访问内容

private static void createStyleFile() throws InvalidFormatException
    {
        WordprocessingMLPackage doc = WordprocessingMLPackage.createPackage();
        List<Style> styleList = doc.getMainDocumentPart().getStyleDefinitionsPart().getJaxbElement().getStyle();

        for(int x = 0; x < styleList.size(); x++)
        {
            Style curStyle = styleList.get(x);
            //C.out(curStyle.getStyleId());
            C.out(curStyle.getName().getVal());
            curStyle.getPPr().getInd().getFirstLine().intValue();
        }
    }
private static void createStyleFile()引发InvalidFormatException
{
WordprocessingMLPackage doc=WordprocessingMLPackage.createPackage();
List styleList=doc.getMainDocumentPart().getStyleDefinitionsPart().getJaxbElement().getStyle();
对于(int x=0;x
样式可以是段落、字符、表格或列表样式

字符样式没有PPr组件,因此必须在样式类型上进行分支,或者测试getPPr是否返回null

如果PPr不为null,则getInd()可能返回null,因此您也需要在那里检查null

我建议您保存docx,解压缩它,并查看styles.xml以更好地了解其中的内容