Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.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_Java Io - Fatal编程技术网

Java 如何识别文件位于哪个存储设备中

Java 如何识别文件位于哪个存储设备中,java,java-io,Java,Java Io,我正在开发一个Java软件,可以读取很多可能很大的文件 我将尝试将其并行化,以便它从不同的设备(HDD、SSD、闪存驱动器、SMB等)并行读取文件,并且每次仅从每个设备读取一个文件。但为此,我需要知道给定文件位于哪个设备中 在Windows上,我想我可以使用substring作为驱动器号的路径,但在Linux上,我不知道如何做到这一点。有标准化的方法吗?用于PosixFileAttributes的sun.nio.fs.UnixFileAttributes类包含一个字段。不幸的是,它不是公共可访问

我正在开发一个Java软件,可以读取很多可能很大的文件

我将尝试将其并行化,以便它从不同的设备(HDD、SSD、闪存驱动器、SMB等)并行读取文件,并且每次仅从每个设备读取一个文件。但为此,我需要知道给定文件位于哪个设备中


在Windows上,我想我可以使用substring作为驱动器号的路径,但在Linux上,我不知道如何做到这一点。有标准化的方法吗?

用于
PosixFileAttributes
sun.nio.fs.UnixFileAttributes
类包含一个字段。不幸的是,它不是公共可访问的,您可能必须使用反射来获取值

另一种方法是调用该文件并以这种方式读取设备id。然后,您可以使用设备id查找文件所在的设备


您可能还需要检查的输出,以检查正在使用的路径及其安装位置。
sun.nio.fs.UnixFileAttributes
类(用于
PosixFileAttributes
)包含一个字段。不幸的是,它不是公共可访问的,您可能必须使用反射来获取值

另一种方法是调用该文件并以这种方式读取设备id。然后,您可以使用设备id查找文件所在的设备


此外,您可能还需要检查的输出,以检查正在使用的路径及其安装位置。

这是否回答了您的问题?Tnx!这些都是很好的信息,但不幸的是,似乎没有人能准确地告诉设备文件的位置。这能回答你的问题吗?Tnx!这些都是很好的信息,但不幸的是,似乎没有人能准确地通知设备文件所在的位置。