Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.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 使用相对路径链接到其他文件时出现问题_Java_Itext - Fatal编程技术网

Java 使用相对路径链接到其他文件时出现问题

Java 使用相对路径链接到其他文件时出现问题,java,itext,Java,Itext,我一直在尝试编写一个程序,该程序将使用iText制作带有链接的PDF文件。以下是该程序的代码片段: private Chapter generatePDF(String text, String path) { Phrase phrase = new Phrase(text); Paragraph paragraph = new Paragraph(); paragraph.add(phrase); Chapter chapter

我一直在尝试编写一个程序,该程序将使用iText制作带有链接的PDF文件。以下是该程序的代码片段:

private Chapter generatePDF(String text, String path) {
    Phrase phrase = new Phrase(text);

    Paragraph paragraph = new Paragraph();      
    paragraph.add(phrase);        

    Chapter chapter =  new Chapter(paragraph, 1);
    chapter.setNumberDepth(0);

    Chunk trial = null;
    String name = path.substring(path.lastIndexOf("\\") + 1, path.length());

    for (int i = 1; i < 3; i++) {
        trial = new Chunk(i + ". " + name);
        trial.setAnchor(path);
        Paragraph para = new Paragraph();
        para.add(trial);
        chapter.add(para);
    }

    return chapter;
 } 
private Chapter generatePDF(字符串文本、字符串路径){
短语=新短语(文本);
段落=新段落();
添加(短语);
第章=新的一章(第1款);
第章设置编号第pth(0)条;
试块=null;
字符串名称=path.substring(path.lastIndexOf(“\\”)+1,path.length();
对于(int i=1;i<3;i++){
试用=新块(i+“+”名称);
试验。设置锚(路径);
段落段落=新段落();
添加(审判)段;
第章.添加(第2段);
}
返回章节;
} 
上述方法中的
文本
保存文件名的值,
路径
包含完整的路径。但是我只需要使用文件的相对路径


有人能建议我需要对代码进行哪些更改吗?

如果您使用Java 7:

final String fileName = Paths.get(path).getFileName().toString();

你可以看看这个界面

在这里你可以找到很多实用函数,比如,你应该在这里使用什么

示例:

final Path inputFile = Paths.get("D:\\temp\\inputFile.txt");    

System.out.println(inputFile.getFileName());
输出:

inputFile.txt