Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有一种方法可以在给定文件中获取Java中的根目录_Java - Fatal编程技术网

有没有一种方法可以在给定文件中获取Java中的根目录

有没有一种方法可以在给定文件中获取Java中的根目录,java,Java,背景 我正在创建上载文件功能。我想将文件保存在给定文件夹(“/uploadFiles”)中。我目前正在Windows中测试,但将在Linux中运行它 我知道我可以得到当前正在工作的TOMCAT目录。有没有办法获取TOMCAT目录的根系统目录?假设当前目录是“D:\apache\sample\u web\u project”,它将得到“D:\”,然后我可以附加“D:\uploadFiles”,如果它在Linux中,它将得到“/etc/apache/sample\u web\u project”,它

背景

我正在创建上载文件功能。我想将文件保存在给定文件夹(“/uploadFiles”)中。我目前正在Windows中测试,但将在Linux中运行它

我知道我可以得到当前正在工作的TOMCAT目录。有没有办法获取TOMCAT目录的根系统目录?假设当前目录是“D:\apache\sample\u web\u project”,它将得到“D:\”,然后我可以附加“D:\uploadFiles”,如果它在Linux中,它将得到“/etc/apache/sample\u web\u project”,它将得到“/etc”

你不应该这样做

您应该以用户身份运行Tomcat,然后使用其主目录作为存储文件的基础。即:

final Path downloadPath = Paths.get(System.getProperty("user.home"), "uploads");
Files.createDirectory(downloadPath);
试试这个:

Path root = Paths.get(System.getProperty("user.dir")).getFileSystem()
            .getRootDirectories().iterator().next();

在ubuntu上,它返回的是
/

可能重复的内容。在
/etc
中存储除配置文件以外的任何内容都是非常糟糕的做法