亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

無法理解用于連接讀取 svg 文件的 URL

無法理解用于連接讀取 svg 文件的 URL

慕蓋茨4494581 2022-06-04 16:46:31
我有一個 Spring Boot v2.1.2.RELEASE 應用程序。我有一個文件 ../src/main/resources/icons/128/black/ae.png我想閱讀,但出現錯誤:無法理解連接的 URL@SpringBootApplicationpublic class SvgManagerApplication implements CommandLineRunner {    public static void main(String[] args) {        SpringApplication.run(SvgManagerApplication.class, args);    }    @Override    public void run(String... args) throws Exception {              try {            String parser = XMLResourceDescriptor.getXMLParserClassName();            SAXSVGDocumentFactory f = new SAXSVGDocumentFactory(parser);            Document doc = f.createDocument("classpath:icons/128/black/ae.svg");            System.out.println(doc);        } catch (IOException ex) {            System.out.println(ex.getMessage());        }    }}
查看完整描述

2 回答

?
MMMHUHU

TA貢獻1834條經驗 獲得超8個贊

您可以嘗試通過這種方式獲取路徑:

String path = SvgManagerApplication.class.getClassLoader().getResource("icons/128/black/ae.svg").getPath();


查看完整回答
反對 回復 2022-06-04
?
牛魔王的故事

TA貢獻1830條經驗 獲得超3個贊

您正在混合兩種不同的框架;classpath:與 Spring 有關,而SAXSVGDocumentFactory似乎與蠟染有關(https://xmlgraphics.apache.org/batik/javadoc/org/apache/batik/anim/dom/SAXSVGDocumentFactory.html)


你可以這樣做:


@SpringBootApplication

public class SvgManagerApplication implements CommandLineRunner {


    public static void main(String[] args) {

        SpringApplication.run(SvgManagerApplication.class, args);

    }



    @Override

    public void run(String... args) throws Exception {      


        try {

        Resource svg = new ClassPathResource("icons/128/black/ae.png"); 

            String parser = XMLResourceDescriptor.getXMLParserClassName();

            SAXSVGDocumentFactory f = new SAXSVGDocumentFactory(parser);

            Document doc = f.createDocument(SVG_DOCUMENT_URI, svg.getInputStream());


            System.out.println(doc);


        } catch (IOException ex) {


            System.out.println(ex.getMessage());


        }

    }

}

有關 Resource 的更多信息可以在這里找到https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/core/io/Resource.html,而有關 ClassPathResource 的更多信息可以找到這里https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/core/io/ClassPathResource.html


查看完整回答
反對 回復 2022-06-04
  • 2 回答
  • 0 關注
  • 207 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號