相对路径为什么不对

Awin_chen 2017-05-15 01:47:57
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.InputStream;
import java.io.Writer;
import java.util.Properties;

/**
* 用以测试properties对配置文件的加载和导出;一般对XML文件的加载使用loadFromXML(方法)
* @author crf
*
*/
public class Properties_test {

public static void main(String[] args) {
new Properties_test().trans_Properties();
}

public void trans_Properties(){
Properties p = new Properties();

try(InputStream incube = new FileInputStream(this.getClass().getResource("/material/properties_copy").getFile());
) {
p.load(incube);

} catch (Exception e) {
e.printStackTrace();
}
System.out.println(p);
String str = "ABC";
try(Writer outcube = new FileWriter(this.getClass().getResource("/material/properties").getFile(),true);

//Writer outcube = new FileWriter("/C:/Users/crf/Desktop/ppp.txt",true);
//Writer outcube = new FileWriter("G:/java/IO_Stream/src/material/properties",true)
){
System.out.println(this.getClass().getResource("/material/properties").getFile());
outcube.write(str);
//p.store(outcube,"properties");
System.out.println(p);
} catch (Exception e) {
e.printStackTrace();
}
}
}

30行为什么不显示错误,但是也不能写出内容呢?为什么下面注释的绝对路径就可以呢?
...全文
197 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
爱摸鱼de老邪 2017-05-15
  • 打赏
  • 举报
回复
默认的文件路径应该在你编译出来的.class的路径下,例如,输出目录为bin,则properties应该在bin/material下。正常是可以写入的,你仔细看看。
爱摸鱼de老邪 2017-05-15
  • 打赏
  • 举报
回复
是的, 准确地说,你得自己构建输出路径
Awin_chen 2017-05-15
  • 打赏
  • 举报
回复
帅哥你好,你的回答很正确,那么如果我希望输出的文件地址是在src下是不是就只能使用绝对路径了呢?

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧