gpt4 book ai didi

Java SAX 读取带有元字符的文件名

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:26:02 25 4
gpt4 key购买 nike

如何读取文件名中包含元字符的文件?例如:

  private void readDoc (String path) { 
try {
SAXReader reader = new SAXReader();
this.doc = reader.read("_40208#1159SOV.xml");
} catch(Exception e) {
this.print(e.getMessage()); } }

我尝试使用:

reader.read(Pattern.quote("_40208#1159SOV.xml");

但它不起作用。想要一个不需要重命名文件的解决方案。谢谢。

最佳答案

read将系统 ID 视为 URL。 # 表示 URL 中的 anchor ,因此该方法查找名为 _40208 的文件,该文件不存在。您可以对参数进行编码

Document doc = reader.read(URLEncoder.encode("_40208#1159SOV.xml", "UTF-8"));

path to file's is getting from UI dialog (JFileChooser) which returns string

在这种情况下,解决方案更简单:SAXReader provides an overloaded method which uses a File reference

Document doc = reader.read(filechooser.getSelectedFile());

关于Java SAX 读取带有元字符的文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21335758/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com