Косая черта в аргументе vm
У меня один и тот же код, работающий на Java 6 и Java 7, но в Java 7 он работает не так, как я ожидаю.
Я пишу в аргументе VM:
-Dmy.root=D:\mvobs\S.4.8.600_view\
Когда я запускаю его с Java 6, все в порядке:
my.root=[D:\mvobs\S.4.8.600_view\\]
но в Java 7 я получил:
my.root=[D:\mvobs\S.4.8.600_view]
куда делся последний слэш?
Я также переместил форму eclipse 3.4.0 в Juno (для работы с Java 7)
в чем может быть проблема?
1 ответ
Я не уверен, куда это пошло, но вы, вероятно, не должны полагаться на это в любом случае.
Для построения путей используйте new File(String, String)
или же new File(File, String)
потому что эти методы делают это правильно на каждой ОС. Таким образом, чтобы открыть файл относительно my.root
:
File myRoot = new File( System.getProperty( "my.root" ) );
File file = new File( myRoot, "filename" );