java パスからドライブ名を取得する

java パスからドライブ名を取得する

javaで、パスからドライブ名を取得する手順を記述してます。

環境

  • OS windows11 home
  • java 17.0.2

手順

パスからドライブ名を取得するには、「getRoot」を使用します。

パス.getRoot();  

実際に、使用してみます。

import java.nio.file.Path;

public class App {
    public static void main(String[] args) throws Exception {
          
        // パスに変換
        Path path1 = Path.of("C:\\hoge\\java\\sample.txt");        
        Path path2 = Path.of("C:/hoge/java/sample.txt");
        Path path3 = Path.of("D:/hoge/java");
    
        System.out.println(path1.getRoot()); // C:\
        System.out.println(path2.getRoot()); // C:\
        System.out.println(path3.getRoot()); // D:\        

    }
}

取得されていることが確認できます。

ドライブが存在しない場合

ドライブ名が存在しない場合は「\」が、ファイル名やフォルダ名のみを指定した場合は、「null」が返ります。

import java.nio.file.Path;

public class App {
    public static void main(String[] args) throws Exception {
          
        // パスに変換
        Path path1 = Path.of("/hoge/java/sample.txt");        
        Path path2 = Path.of("sample.txt");
        Path path3 = Path.of("hoge");
    
        System.out.println(path1.getRoot()); // \
        System.out.println(path2.getRoot()); // null 
        System.out.println(path3.getRoot()); // null 

    }
}