回答:
どちらの場合でも、私はあなたが望むものをあなたに与えることを期待していますfile.getParent()
(またはfile.getParentFile()
)。
また、あなたは元のかどうかを知りたい場合はFile
ありませんが存在するとされ、その後、ディレクトリexists()
とisDirectory()
あなたが後にしているものです。
File API File.getParentまたはFile.getParentFileは、ファイルのディレクトリを返します。
あなたのコードは次のようになります:
File file = new File("c:\\temp\\java\\testfile");
if(!file.exists()){
file = file.getParentFile();
}
File.isDirectory API を使用して、親ファイルがディレクトリであることをさらに確認できます
if(file.isDirectory()){
System.out.println("file is directory ");
}
File directory = new File("Enter any directory name or file name"); boolean isDirectory = directory.isDirectory(); if (isDirectory) { // It returns true if directory is a directory. System.out.println("the name you have entered is a directory : " + directory); //It returns the absolutepath of a directory. System.out.println("the path is " + directory.getAbsolutePath()); } else { // It returns false if directory is a file. System.out.println("the name you have entered is a file : " + directory); //It returns the absolute path of a file. System.out.println("the path is " + file.getParent()); }
code
最終的なファイルfile = new File( "C:/dev/changeofseasons.mid"); System.out.println( "ファイルは存在しますか?" + file.exists()); System.out.println( "ファイルのディレクトリ:" + file.getAbsolutePath()); わかりません、インデントが不十分なため申し訳ありませんが、コメント内のコードをフォーマットすることはできません。それでも、コードは明らかに機能しません。
File filePath=new File("your_file_path");
String dir="";
if (filePath.isDirectory())
{
dir=filePath.getAbsolutePath();
}
else
{
dir=filePath.getAbsolutePath().replaceAll(filePath.getName(), "");
}
your_file_path = "C:\\testfiles\\temp\\testfile";
-私はそれがあなたが望むものを与えるとは思いません。