폴더에 파일이 있는지 확인하는 방법은 무엇입니까?


112

폴더에 xml 파일이 있는지 확인해야합니다.

DirectoryInfo di = new DirectoryInfo(ProcessingDirectory);
FileInfo[] TXTFiles = di.GetFiles("*.xml");
if (TXTFiles.Length == 0)
{
    log.Info("no files present")
}

폴더에 파일이 있는지 확인하는 가장 좋은 방법입니다.

xml 파일이 있는지 확인해야합니다.


2
모든 xml 파일을 찾고 있습니까? 아니면 특정 이름을 가진 파일을 찾고 있습니까?
Piotr Auguscik 2011 년


5
당신에게 필요한 것은 단지 Directory.EnumerateFileSystemEntries(ProcessingDirectory, "*.xml").Any()당신이 얻을 수있는 가장 빠른 것입니다.
그림자 마법사가 당신을 위해 귀입니다

답변:


198

이것은 해당 폴더에 XML 파일이 있는지 확인하는 방법입니다.

특정 파일을 확인하려면 File.Exists(path)파일이 path존재 하는지 여부를 나타내는 부울을 반환 합니다.


4
FileInfo.Exists 속성을 사용할 수도 있습니다
VMAtm

10
아니요, 사용자에게 파일을 읽을 수있는 권한이없는 경우이 답변은 false를 반환합니다. 따라서 파일이 폴더에있는 경우 단순히 checkinf 이상을 수행합니다. DirectoryInfo.GetFiles ()를 사용하고 결과를 열거 할 수 있습니다.
ogborstad

35

사용 FileInfo.Exists재산 :

DirectoryInfo di = new DirectoryInfo(ProcessingDirectory);
FileInfo[] TXTFiles = di.GetFiles("*.xml");
if (TXTFiles.Length == 0)
{
    log.Info("no files present")
}
foreach (var fi in TXTFiles)
    log.Info(fi.Exists);

또는 File.Exists방법 :

string curFile = @"c:\temp\test.txt";
Console.WriteLine(File.Exists(curFile) ? "File exists." : "File does not exist.");

5
DirectoryInfo 및 FileInfo 클래스는 훌륭합니다. 이러한 파일 시스템 구성을 처리하고 UI에 바인딩 할 때 유용한 속성에 정보를 노출하고 직렬화 할 수있는 많은 방법을 제공하므로 구성에 사용할 수 있습니다.

29

파일이 있는지 확인하려면 사용할 수 있습니다.

System.IO.File.Exists(path)

8

이렇게하면 특정 폴더에있는 기존 파일을 확인할 수 있습니다.

 string curFile = @"c:\temp\test.txt";  //Your path
 Console.WriteLine(File.Exists(curFile) ? "File exists." : "File does not exist.");

8

아무도 파일이 있는지 확인 하고 현재 폴더를 얻는 방법을 말하지 않았기 때문에 실행 파일이 (Working Directory)에 있습니다 .

if (File.Exists(Directory.GetCurrentDirectory() + @"\YourFile.txt")) {
                //do stuff
}

@"\YourFile.txt"수단처럼 물건 것으로, 대소 문자를 구분하지 않습니다 @"\YoUrFiLe.txt"@"\YourFile.TXT"@"\yOuRfILE.tXt"같은 해석된다.


3

다음과 같이 개선 할 수 있습니다.

if(Directory.EnumerateFileSystemEntries(ProcessingDirectory, "*.xml").ToList<string>().Count == 0)
    log.Info("no files present")

또는 :

log.Info(Directory.EnumerateFileSystemEntries(ProcessingDirectory, "*.xml").ToList<string>().Count + " file(s) present");

1
if (File.Exists(localUploadDirectory + "/" + fileName))
{                        
    `Your code here`
}

2
이 코드가 문제를 해결하거나 해결하지 못할 수도 있지만, 좋은 대답에는 항상이 코드가 수행하는 작업에 대한 설명이 필요합니다. 또한 귀하의 답변은 새로운 것을 추가하지 않는 것 같습니다. 또한 코드 샘플의 형식을 적절하게 지정하고 localUploadDirectory답변이 그것을 참조하는 이유 또는 이유를 설명해야 합니다.
BDL

0

이것은 나를 도왔습니다.

bool fileExists = (System.IO.File.Exists(filePath) ? true : false);

4
(System.IO.File.Exists(filePath) ? true : false);중복 System.IO.File.Exists(filePath);이면 충분합니다.
Naveen Niraula

2
실제로 Adrita의 코드와 비슷합니다. 변수가 무엇을 포함해야하는지 명확하게 보여주기 때문에 학생 프로그램에 논리를 적용하는 방법에 대한 훌륭한 예이기도합니다. 그것을 수업에 통합 할 것입니다. 때때로해야 유선형 코드는 유지 보수에서 가장 큰 오버 헤드를 가지고 있으며, 디버깅
ScaryMinds

0

이것은 나를 위해 흔들렸다.

file_browse_path=C:\Users\Gunjan\Desktop\New folder\100x25Barcode.prn
  String path = @"" + file_browse_path.Text;

  if (!File.Exists(path))
             {
      MessageBox.Show("File not exits. Please enter valid path for the file.");
                return;
             }
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.