最近在写一个工具时,java 解析Xml时,出现下面异常:
java.net.MalformedURLException: unknown protocol: e
at java.net.URL.<init>(Unknown Source)
at java.net.URL.<init>(Unknown Source)
at java.net.URL.<init>(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source)
发现原因是xml文件放置在中文路径下,因为如果是英文路径就没有问题了。
在上网找半天也没有发现好的解决方案。在同事点拔下,将中文路径下文件先读取,放在英文路径下,再使用就没有问题。
但是对于我的这个程序,我找到好方法:
之前代码:
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder;
builder = factory.newDocumentBuilder();
Document document = builder.parse(xmlPath);\\直接将路径名给builder.
但是如果路径有中文就会报上面的异常;
修改后代码:
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder;
builder = factory.newDocumentBuilder();
File file=new File(xmlPath); //将文件读取,这样路径如果有中文一样可以正常读取
Document document = builder.parse(file); //将file传给DocumentBuilder,
没有上面异常可以正常读取。
我认为DocumertBuilder这个类对文件的读取可能不够全面吧,所以无法处理读取中文路径下的文件。如果用File先读取,就没有问题。
分享到:
相关推荐
下面小编就为大家带来一篇java.net.MalformedURLException异常的解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
图片加载问题:java.net.MalFormedURLException: no protocol,D/skia:---Failed to create image decoder with message 'unimplemented', gif动图之间的[&]格式问题 视频播放 detailed page中图片过大问题 整体...
全面介绍单元测试: 这是一篇全面介绍单元测试的经典之作,对理解单元测试和Visual Unit很有帮助,作者老纳,收录时作了少量修改]
import java.net.MalformedURLException; import java.net.URL; public class UrlHtml { @SuppressWarnings("deprecation") public static void main(String[] s) throws IOException{ try { URL ...
本文实例讲述了Android中ImageView使用网络图片资源的方法。分享给大家供大家参考。具体如下: 很多时候我们不想把东西都放在APK里面,...import java.net.MalformedURLException; import java.net.URL; import androi
4.1.1. 在运行测试用例的时候,出现org.dbunit.dataset.DataSetException: java.net.MalformedURLException at……………类似的异常? 1 4.1.2. 在运行测试用例的时候,出现SQLException,并且对应的sqlstate:23504,...
import java.net.MalformedURLException; import java.net.URL; import java.util.List; import java.util.Map; public class HttpTest { private HttpURLConnection hc = null; private static final String ...
import java.net.MalformedURLException; import java.util.Properties; import java.util.Scanner; import org.codehaus.xfire.XFireFactory; import org.codehaus.xfire.client.XFireProxyFactory; import org....
本文实例讲述了Android实现ListView异步加载图片的方法。分享给大家供大家参考。具体如下: ListView异步加载图片是非常实用的方法,凡是是要通过网络获取图片资源...import java.net.MalformedURLException; import
import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import java.util.ArrayList; import java.util.Enumeration; import java.util.HashSet; import java.util.Iterator...
学习java的正则表达式,抓取网页并解析HTML部分内容 ...import java.net.MalformedURLException; import java.net.URL; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import j
测试环境为Adnroid 2.1以上。 1.AndroidManifest.xml 权限配置: 添加互联网访问权限: 代码如下: <uses android:name=”android.permission.INTERNET”> 2.... import java.net.MalformedURLException; impo
import java.net.MalformedURLException; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import org.codehaus.xfire.client.XFireProxyFactory; import org.codehaus.xfire....
股票Java说明:Java的库存类。 使用Yahoo Finance API 测试文件: import java.io.IOException;import org.json.simple.JSONObject;import java.util.*;public class StockTest {public static void main(String[] ...
} catch (MalformedURLException e) { e.printStackTrace(); } config.setConnectionTimeout(60000); config.setReplyTimeout(60000); config.setEnabledForExceptions(true); XmlRpcClient rpc ...
import java.net.MalformedURLException; import java.rmi.server.UnicastRemoteObject; import common.zip.ZipClientSocketFactory; import common.zip.ZipServerSocketFactory; public final class RMIServer { ...
import java.net.MalformedURLException; import java.net.URL; import java.util.ArrayList; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; import org.apache....
以java.net.URL类的构建器(constructor)为例,它的每一个构建器都会抛出MalformedURLException。MalformedURLException就是一种checked exception。设想一下,你有一个简单的程序,用来提示用户输入一个URL,然后...
import java.net.*; import java.io.*; public class SR_Slider extends Frame implements ActionListener, WindowListener, Runnable { public static void main(String Pagli[]) { new SR_Slider(); } ...
import java.net.*; import java.io.*; import javax.swing.event.*; import javax.swing.border.*; import java.sql.*; import java.io.*; import java.net.*; import javax.swing.*; public class Java{ public ...