java项目基目录不是预期的值

时间:2015-11-24 10:39:29

标签: java

我有一个动态的web项目,如果我想在这个项目中引用文件路径,那么文件的基本位置在

validates_presence_of :approver_note, if: :state_three?
validates_presence_of :po_number, if: :state_two?
validates_uniqueness_of :approver_note, scope: [:ac_id], conditions: -> { where(state_type: 3)}, if: :state_three?
validates_uniqueness_of :po_number, scope: [:ac_id], conditions: -> { where(state_type: 2)}, if: :state_two?

def state_three?
    self.state_type==3
end

def state_two?
    self.state_type==2
end

但是在另一个控制台项目下,基本目录路径为:

C:\Users\myName\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Eclipse

这就是我的期望。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我认为有类似Unix风格的东西,例如。

File f = new File("./test.txt");
  

./应该是实际位置(通常是" src"项目,如果从cmd运行.jar,它应该是jar文件所在的位置,类似于:)

或者只是这也应该起作用

File f = new File("test.txt");

编辑 - 胜利下的第二个命令就像实际位置一样:

File f = new File("./test.txt");
File f2 = new File("test.txt");

System.out.println("f absolute path: " + f.getAbsolutePath());
System.out.println("f2 absolute path: " + f2.getAbsolutePath());
  

f绝对路径:C:\ Users \ user \ workspaceTEST \ clearTest。\ test.txt

     

f2绝对路径:C:\ Users \ user \ workspaceTEST \ clearTest \ test.txt

对于路径分隔符,使用File.separator比使用"\" or "/"

更好