Traslado: http: //blog.csdn.net/yiluoak_47/article/details/7760385
Use una ruta relativa de Java para leer el archivo
entorno del proyecto 1.java, utilizando ejemplos java.io leer el archivo con una ruta relativa:
estructura de directorios *:
DecisionTree
| src ___
| ___ com.decisiontree.SamplesReader.java
| Recursos ___
| ___ train.txt, la Prueba. TXT
* SamplesReader.java:
cadena ruta de archivo = "recursos / train.txt"; // nota del contenido de ruta de archivo,
archivo del archivo = new nuevo archivo (ruta de archivo);
......
*, prestando gran atención a la ruta de archivo de contenido, por defecto java.io para el usuario actual directorio ( "user.dir"), a saber: la raíz de Ingeniería
de catálogo: la "D \ DecisionTree", por lo tanto, en este momento la ruta relativa (ruta user.dir basada ruta) es "recurso / train.txt"
. De esta manera, JVM puede obtener la ruta completa basada en la "user.dir" y "recursos / train.txt" (es decir, la ruta absoluta
de diámetro) "D: \ DecisionTree \ recursos \ train.txt", nunca se encontró el archivo train.txt.
* Nota: el inicio de la ruta relativa diagonales libres "
vía de archivo = "recurso / train.txt";
en cambio = ruta de archivo "/ Recursos / train.txt"; // Error
2, el medio ambiente JavaEE, un ejemplo del uso classloader leer XML con una ruta relativa:
* véase el artículo anterior escrito por " archivo XML es leído por un camino virtual o una ruta relativa, para evitar no modificable ".
* Como sigue:
Java utilizan una ruta relativa al leer el archivo xml:
una, la ubicación de almacenamiento de archivos XML generalmente tres:
1. Poner el directorio WEB-INF,
bajo Archivos 2.xml en / WEB-INF / classes o la ruta de clases paquete jar;
3. coloca con su java analizar un paquete similar, no necesariamente el CLASSPATH;
dos, correspondiente a la trayectoria relativa usando dos métodos de lectura:
método no verificados :( a)
el archivo XML de descarga en el directorio WEB-INF, entonces el
código del programa:
InputStream getServletContext ES = () la getResourceAsStream ( "/WEB-INF/xmlfile.xml") ;.
método 2: archivos XML en / directorio / WEB-INF clases o ruta de clases paquete frasco, se puede utilizar un cargador de clases estática
getSystemResourceAsStream (String s) leer;
código del programa:
S_xmlpath = cadena de caracteres "COM / SPF / Web / EXT / Hotspot / hotspotxml / hotspot.xml";
la InputStream in = ClassLoader.getSystemResourceAsStream (s_xmlpath);
Método tres: xml libremente en la ruta de un paquete:
String = s_xmlpath "COM / SPF /web/ext/hotspot/hotspotxml/hotspot.xml ";
ClassLoader HotspotXmlParser.class.getClassLoader cargador de clases = ();
el InputStream in = ClassLoader.getResourceAsStream (s_xmlpath);