作用:属性配置
问题:
eclipse路径:D:\java工作环境\day18\bin\com\hopu\test4\test.properties
Properties porperties = new Properties();
InputStream resourceAsStream = Demo1.class.getResourceAsStream("test.properties");
String path = Demo1.class.getResource("test.properties").getPath();
porperties.setProperty("age", "30");
porperties.store(new FileOutputStream(path),"");
Exception in thread "main" java.io.FileNotFoundException: D:\java%e5%b7%a5%e4%bd%9c%e7%8e%af%e5%a2%83\day18\bin\com\hopu\test4\test.properties (系统找不到指定的路径。)
分析:
获取文件路径 resourceAsStream 转成String类型是中文路径乱码
办法思路:
逆推
既然String类型不行,看FileOutputStream可以用什么类型,看得出是File
那new一个File,里面可以放URI类型
Demo1.class.getResource("test.properties")
只要把URL转成URI就可以
URI uri = Demo1.class.getResource("test.properties").toURI();
porperties.store(new FileOutputStream(new File(uri)),"");
总结:在用对象是要注意数据类型,本次问题是数据类型的转换。多思考,灵活运用。