如何在Java程序中更改当前工作目录?我能找到的关于这个问题的一切声称你根本做不到,但我不相信那是真的.
我有一段代码,它使用来自通常启动的目录的硬编码相对文件路径打开文件,我只是希望能够在不同的Java程序中使用该代码,而无需从内部启动它一个特定的目录.看起来你应该只能调用System.setProperty( "user.dir", "/path/to/dir" )
,但据我所知,调用该行只是默默地失败并且什么都不做.
我会理解,如果Java不允许你这样做,如果它不是因为它允许你获得当前的工作目录,甚至允许你使用相对文件路径打开文件....
Scala新手,XML
在Scala工作表中读取文件时遇到问题.到目前为止,我有:
C:\
驱动器中C:\eclipse\workspace\xml_data
xml
文件...\xml_data\music.xml
创建了一个包sample_data
并创建了以下对象(带有文件路径:) ...\xml_data\src\sample_data\SampleData.scala
:
package sample_data
import scala.xml.XML
object SampleData {
val data = XML.loadFile("music.xml")
}
object PrintSampleData extends Application {
println(SampleData.data)
}
Run Code Online (Sandbox Code Playgroud)但是,当我创建Scala工作表时,这运行正常test_sample_data.sc
:
import sample_data.SampleData
object test {
println(SampleData.data)
}
Run Code Online (Sandbox Code Playgroud)
我得到的java.lang.ExceptionInInitializerError
包括:Caused by: java.io.FileNotFoundException: music.xml (The system cannot find the file specified)
.
工作区是C:\eclipse\workspace
.任何帮助或见解非常感谢.干杯!
更新:
按照aepurniet的建议,我跑了new java.io.File(".").getAbsolutePath()
并分别获得了以下内容:
SampleData.scala
: C:\eclipse\workspace\xml_data\.
test_sample_data.sc
: C:\eclipse\. …