기계적 인조 인간; 새 파일을 만들지 않고 파일이 있는지 확인


227

패키지 폴더에 파일이 있는지 확인하고 싶지만 새 폴더를 만들고 싶지 않습니다.

File file = new File(filePath);
if(file.exists()) 
     return true;

이 코드는 새 파일을 만들지 않고 확인합니까?



1
@Kunok 난 당신의 편집 코멘트를 확인 해요 : 그대로 탱크 와 같은 단어를 제거 ... : P
Kevin Guan

1
@KevinGuan 아 그래, 내 나쁜, 방금 새 이브 파티에서 집에
돌아와서

답변:


440

코드 덩어리는 새로운 코드 덩어리를 만들지 않고 이미 존재하는지 확인합니다.

File file = new File(filePath);
if(file.exists())      
//Do something
else
// Do something else.

5
필자의 경우이 코드가 새 파일을 만드는 이유를 모르겠습니다.
ofnowhere

하위 폴더도 체크인하는 방법?
Pratik Butani

4
정적 메소드가 없기 때문에 : File.exists (String file)이므로 'Exists'메소드에 액세스하려면 새 File 객체를 인스턴스화해야합니다.
Giova

3
OP는 새로운 파일 객체를 만들고 싶지 않다고 생각합니다.
AndroDev

1
@AndroDev 아니오-그는 새로운 파일을 만들고 싶지 않습니다. 응답은 파일에 대한 새로운 참조를 만듭니다.
Marian Paździoch

31

이 코드를 사용하면 새 파일을 만들지 않고 해당 파일에 대한 객체 참조를 작성하고 존재하는지 여부를 테스트하는 것입니다.

File file = new File(filePath);
if(file.exists()) 
    //do something

21

그것은 나를 위해 일했다 :

File file = new File(getApplicationContext().getFilesDir(),"whatever.txt");
    if(file.exists()){
       //Do something
    }
    else{
       //Nothing
     }

2
이것은 경로가 아닌 파일 이름 만 가진 경우 해결책입니다.
Zach

1
별로 @Zach, 그것의 경로 내가 (. getApplicationContext () getFilesDir ()) 전송되는 첫 번째 매개 변수가 될 것입니다
조르디 Vicens

8

"패키지 폴더에"라고 말하면 로컬 앱 파일을 의미합니까? 그렇다면 Context.fileList () 메소드를 사용하여 목록을 얻을 수 있습니다 . 반복하고 파일을 찾으십시오. Context.openFileOutput ()으로 원본 파일을 저장했다고 가정합니다 .

샘플 코드 (활동 중) :

public void onCreate(...) {
    super.onCreate(...);
    String[] files = fileList();
    for (String file : files) {
        if (file.equals(myFileName)) {
            //file exits
        }
    }
}

5

methods경로 클래스는이 경로 인스턴스에서 작동한다는 것을 의미 구문입니다. 그러나 결국 file특정 경로가 존재하는지 확인하기 위해 시스템에 액세스해야 합니다

 File file = new File("FileName");
 if(file.exists()){
 System.out.println("file is already there");
 }else{
 System.out.println("Not find file ");
 }

1
public boolean FileExists(String fname) {
        File file = getBaseContext().getFileStreamPath(fname);
        return file.exists();
}

0

코 틀린 확장 속성

File 객체를 만들 때 파일이 생성되지 않으며 인터페이스 일뿐입니다.

파일 작업을보다 쉽게하기 위해 .toFileUri에 기존 기능이 있습니다.

File 및 / 또는 Uri에 확장 속성을 추가하여 사용을 더욱 단순화 할 수도 있습니다.

val File?.exists get() = this?.exists() ?: false
val Uri?.exists get() = File(this.toString).exists()

그럼 그냥 사용 uri.exists또는 file.exists확인 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.