私はjava.io.File
オブジェクトを持っていますが、それがどれに対応するのかわかりません。メソッドを使用して、isDirectory()
それがディレクトリかどうかを確認できます。通常のフォルダとドライブは両方とも、呼び出し時に true を返しますisDirectory()
File
オブジェクトがドライブかマイ コンピュータかを確認するにはどうすればよいですか?
私はjava.io.File
オブジェクトを持っていますが、それがどれに対応するのかわかりません。メソッドを使用して、isDirectory()
それがディレクトリかどうかを確認できます。通常のフォルダとドライブは両方とも、呼び出し時に true を返しますisDirectory()
File
オブジェクトがドライブかマイ コンピュータかを確認するにはどうすればよいですか?
2つの方法があり、1つは
File f=new File("C:\\");
if(f.toPath().getNameCount()==0) System.out.println(f+" is root");
getNameCount()
メソッドは番号を返します。与えられた根のFile
toPath()
メソッドは のjava.nio.file.Path
オブジェクトを返しますf
。java.nio.file
もう1つ、ここでパッケージをインポートする必要さえありません。
たとえば、f=new File("C:\\Program Files");
ルートが 1 つしかないため、これは 1 を返します。C:\\
ドライブの名前カウントが 0 になる
マイ コンピュータはオブジェクトとして表すことができません File
。しようとしたら、
File f=new File("C:\\").getParentFile();
あなたが得るnull
別の方法です(私はお勧めしません)。ここでは、ループを使用する必要があります。パフォーマンスの観点からすると、パフォーマンスが低下すると同時に、これも長くなります。
File[] files=File.listRoots();
for(int i=0;i<files.length;i++)
{
if(files[i].equals(f)){
System.out.println(f+" is root");
break;
}
}