我有一个动态的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
这就是我的期望。我该如何解决这个问题?
答案 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 "/"