not kind found exceptions excepciones example all java xml exception

kind - java exception list



java.net.URISyntaxException (5)

He recibido esta excepción. pero esta excepción no se reproduce de nuevo. Quiero conseguir la causa de esto.

Exception Caught while Checking tag in XMLjava.net.URISyntaxException: Illegal character in opaque part at index 2: C:/Documents and Settings/All Users/.SF/config/sd.xml stacktrace net.sf.saxon.trans.XPathException.

Por qué se produjo esta excepción. Cómo tratar para que no se reproduzca.


Básicamente, "C:/Documents and Settings/All Users/.SF/config/sd.xml" es una ruta de acceso, y no una URI válida. Si desea convertir una ruta de acceso en un "archivo:" URI, haga lo siguiente:

File f = new File("C:/Documents and Settings/All Users/.SF/config/sd.xml"); URI u = f.toURI();

Esta es la forma más sencilla, confiable y portátil de convertir una ruta de acceso en un URI válido en Java.

Pero debe darse cuenta de que los "archivos:" URI tienen una serie de advertencias, como se describe en los javadocs para el método File.toURI() . Por ejemplo, un "archivo:" URI creado en una máquina generalmente denota un recurso diferente (o ningún recurso) en otra máquina.


Debes tener la cuerda así:

String windowsPath = file:/C:/Users/sizu/myFile.txt; URI uri = new URI(windowsPath); File file = new File(uri);

Por lo general, la gente hace algo como esto:

String windowsPath = file:C:/Users/sizu/myFile.txt; URI uri = new URI(windowsPath); File file = new File(uri);

o algo como esto:

String windowsPath = file:C:/Users/sizu/myFile.txt; URI uri = new URI(windowsPath); File file = new File(uri);


La causa principal de esto es la ruta del archivo que contiene barras diagonales en lugar de barras diagonales hacia atrás en Windows.

Intenta esto para resolver el problema:

"file:" + string.replace("//", "/");


Necesita un uri completo con tipo / protocolo por ejemplo

file:/C:/Users/Sumit/Desktop/s%20folder/SAMPLETEXT.txt File file = new File("C:/Users/Sumit/Desktop/s folder/SAMPLETEXT.txt"); file.toURI();//This will return the same string for you.

Prefiero usar una cadena directa para evitar crear un objeto de archivo adicional.


Tuve el mismo error "opaco" al pasar un URI en la línea de comandos a un script. Esto fue en las ventanas. Tuve que usar barras diagonales hacia delante, NO barras invertidas. Esto lo resolvió para mí.