您如何在文件名中使用metacharacters读取文件?例如:
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中的锚固,因此该方法查找不存在的名为_40208
的文件。您可以编码参数
Document doc = reader.read(URLEncoder.encode("_40208#1159SOV.xml", "UTF-8"));
文件的路径正在从返回字符串
的UI对话框(Jfilechooser)获取
在这种情况下,解决方案更简单:SAXReader
提供了使用File
参考
Document doc = reader.read(filechooser.getSelectedFile());
在我的情况下,我发现了这个问题的更简单解决方案 reader.read(new File(path));
与任何urlencoder一起工作。希望可以帮助某人