String
a가 파일 또는 디렉토리의 경로를 나타내는 지 확인하는 유효한 방법이 필요합니다 . Android에서 유효한 디렉토리 이름은 무엇입니까? 폴더 이름에는 '.'
문자 가 포함될 수 있으므로 시스템은 파일이나 폴더가 있는지 어떻게 이해합니까?
답변
가정 path
은 당신 String
입니다.
File file = new File(path);
boolean exists = file.exists(); // Check if the file exists
boolean isDirectory = file.isDirectory(); // Check if it's a directory
boolean isFile = file.isFile(); // Check if it's a regular file
또는 NIO 클래스를 사용하여 다음을 확인할 수 있습니다 Files
.
Path file = new File(path).toPath();
boolean exists = Files.exists(file); // Check if the file exists
boolean isDirectory = Files.isDirectory(file); // Check if it's a directory
boolean isFile = Files.isRegularFile(file); // Check if it's a regular file
답변
nio API를 유지하면서 깨끗한 솔루션 :
Files.isDirectory(path)
Files.isRegularFile(path)
답변
이러한 확인을 수행하려면 nio API를 따르십시오.
import java.nio.file.*;
static Boolean isDir(Path path) {
if (path == null || !Files.exists(path)) return false;
else return Files.isDirectory(path);
}
답변
String path = "Your_Path";
File f = new File(path);
if (f.isDirectory()){
}else if(f.isFile()){
}
답변
또는 String
a 가 파일 시스템에 존재하지 않는 경우 시스템이 알려줄 수있는 방법이 없습니다 . 예를 들면 다음과 같습니다.file
directory
Path path = Paths.get("/some/path/to/dir");
System.out.println(Files.isDirectory(path)); // return false
System.out.println(Files.isRegularFile(path)); // return false
그리고 다음 예제의 경우 :
Path path = Paths.get("/some/path/to/dir/file.txt");
System.out.println(Files.isDirectory(path)); //return false
System.out.println(Files.isRegularFile(path)); // return false
따라서 두 경우 모두 시스템이 false를 반환합니다. 이것은 모두 사실 java.io.File
과java.nio.file.Path
답변
문자열이 프로그래밍 방식으로 경로 또는 파일을 나타내는 지 확인하려면 다음과 같은 API 메소드를 사용해야합니다 isFile(), isDirectory().
파일이나 폴더가 있는지 시스템이 어떻게 이해합니까?
파일 및 폴더 항목은 데이터 구조로 유지되며 파일 시스템에서 관리합니다.
답변
private static boolean isValidFolderPath(String path) {
File file = new File(path);
if (!file.exists()) {
return file.mkdirs();
}
return true;
}