代码中使用到文件的位置:
代码示例:
public class PathTest { /** * 使用Properties加载资源 * @throws IOException * mysqldb.properties: dbdriver=com.mysql.jdbc.Driver url=jdbc\:mysql\://localhost\:3306/y2018?characterEncoding\=utf-8 user=root password=root */ @Test public void testProperties() throws IOException { // //方式一 //URL resource = this.getClass().getResource("/mysqldb.properties"); //URL resource = PathTest.class.getResource("/mybatis-config.xml"); //方式二 URL resource = ClassLoader.getSystemResource("mysqldb.properties"); InputStream in = new FileInputStream(resource.getFile()); Properties properties = new Properties(); properties.load(in); /* console1:user console1:url console1:password console1:dbdriver */ Enumeration<?> propertyNames = properties.propertyNames(); while (propertyNames.hasMoreElements()) { Object object = (Object) propertyNames.nextElement(); System.out.println("console1:"+object); } /** * 下面test properties的各种method: */ /* console2:root console2:root console2:jdbc:mysql://localhost:3306/y2018?characterEncoding=utf-8 console2:com.mysql.jdbc.Driver */ Enumeration<Object> elements = properties.elements(); while (elements.hasMoreElements()) { Object object = (Object) elements.nextElement(); System.out.println("console2:"+object); } /* console3:root console3:root console3:jdbc:mysql://localhost:3306/y2018?characterEncoding=utf-8 console3:com.mysql.jdbc.Driver */ Collection<Object> values = properties.values(); for (Object object : values) { System.out.println("console3:"+object); } /* console4: user=root console4: password=root console4: url=jdbc:mysql://localhost:3306/y2018?characterEncoding=utf-8 console4: dbdriver=com.mysql.jdbc.Driver */ Set<Entry<Object, Object>> entrySet = properties.entrySet(); for (Entry<Object, Object> entry : entrySet) { System.out.println("console4: "+entry.getKey()+"="+entry.getValue()); } /* *console5: jdbc:mysql://localhost:3306/y2018?characterEncoding=utf-8 */ Object object = properties.get("url"); System.out.println("console5: "+object); } } |