有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在参考资料中添加docx文件并创建可执行jar

我想补充一点

  • 在resources文件夹中的docx文件中,使用位于同一应用程序的另一个包中的类编写的代码中的这些文件
  • 然后我想用它制作一个可执行的jar,它将在windows上运行

我读到制作这样的罐子并不容易:(而且没有傻瓜的办法

我已经尝试在网上搜索它,发现我将不得不创建URL,然后文件,然后使用它。。。 然而,当我使用下面的代码时,我无法获取URL本身

URL urlOfDraftInSamePackage = CreateDraft.class.getResource("Draft_in_same_package.docx");
        System.out.println("urlOfDraftInSamePackage is "+urlOfDraftInSamePackage.toString());

//这将在同一个\u包中打印:urlOfDraftInSamePackage is file:/D:/aditya\u workspace/SampleDraftMaker/bin/draftProcessing/Draft\u。docx

URL urlOfDraftInResourceFolder = CreateDraft.class.getResource("resouces/Draft_Apartment.docx");
        System.out.println("urlOfDraftInResourceFolder is "+urlOfDraftInResourceFolder.toString());
        //this gives null pointer exception
        URI uri = null;
        try {
            uri = urlOfDraftInSamePackage.toURI();
            File file = new File(uri);
            System.out.println("file made");
        } catch (URISyntaxException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

以下是我的文件夹结构:

my project folder structure and class path

有人能帮我用eclipse创建这样的可执行jar吗

提前感谢

retrying to upload image of folder structure


共 (1) 个答案

  1. # 1 楼答案

    以下代码适用于我:

    public static void testResource() throws IOException {
        InputStream stream = Deserializace.class.getResourceAsStream("resources/ser.log");
        BufferedReader reader = new BufferedReader(new InputStreamReader(stream));
        String s;
        while ( (s = reader.readLine()) != null) {
            System.out.println(s);
        }
    }
    

    生成目录结构:

    Test.class
    resources/ser.log
    

    您必须确保将资源目录复制到正确的位置