Ruta de obtención de reflexión de JavaSE

Cómo conseguir el camino

  • La elección de la ruta es necesaria, y también debemos garantizar la portabilidad de la ruta , por lo que debemos usar una ruta común para completar los requisitos.
  • El requisito previo para usar el método común: el archivo debe estar en la ruta de clase, que es src (src es la ruta raíz de la clase)

método uno

  • Formato de sintaxis:
String path = Thread.currentThread().getContextClassLoader().getResource("以src为根的路径名").getPath();

Thread.currentThread (): objeto del hilo actual
getContextClassLoader (): obtiene el objeto cargador de clases del hilo actual (método del objeto hilo)
getResource (): obtiene recursos, el cargador de clases del hilo actual carga recursos desde la ruta raíz de la clase por defecto (Método del objeto cargador de clases)
getPath (): Obtener ruta (método de la clase de archivo File)

import java.io.FileReader;
import java.util.Properties;

public class Test {
    
    
	public static void main(String[] args) throws Exception {
    
    
		String path = Thread.currentThread().getContextClassLoader().getResource("test.properties").getPath();
		FileReader reader = new FileReader(path);
		Properties pro = new Properties();
		pro.load(reader);
		reader.close();
		String name = pro.getProperty("name");
		System.out.println(name);
	}
}

Camino dos

  • Regresar como una corriente
  • Formato de sintaxis:
InputStream in = Thread.currentThread().getContextClassLoader().getResourceAsStream("");
Reader reader = Thread.currentThread().getContextClassLoader().getResourceAsReader("");
import java.io.InputStream;
import java.util.Properties;

public class Test {
    
    
	public static void main(String[] args) throws Exception {
    
    
		InputStream reader = Thread.currentThread().getContextClassLoader().getResourceAsStream("test.properties");
		Properties pro = new Properties();
		pro.load(reader);
		reader.close();
		String name = pro.getProperty("name");
		System.out.println(name);
	}
}

Camino tres

  • Se proporciona un paquete de recursos ResourceBundle en el paquete java.util para facilitar el acceso al contenido en el archivo de configuración de atributos
  • El enlazador de recursos solo puede vincular el archivo xxx.properties, y este archivo debe estar en la ruta de clase, y la extensión del archivo también debe ser .properties. Al escribir la ruta en el código, la extensión después de la ruta no se escribe
public class Test {
    
    
	public static void main(String[] args) throws Exception {
    
    
		ResourceBundle bundle = ResourceBundle.getBundle("com/lzj/reflect/bean/db");
        String name = bundle.getString("name");
        System.out.println(name);
	}
}

Supongo que te gusta

Origin blog.csdn.net/LvJzzZ/article/details/108512126
Recomendado
Clasificación