VSTS 2008 + C# + .Net 3.0을 사용하고 있습니다. 나는 디렉토리에있는 모든 파일을 생성 시간별로 열거하고 싶다. 즉, 가장 최근에 생성 된 파일은 처음에는 enumarate 될 것이고, 더 오래된 파일은 마침내 열거 될 것이다. 어떤 아이디어를 내포하는 방법?C# 디렉터리 파일의 파일 목록
답변
뭔가 그
System.IO.FileInfo[] array = new System.IO.DirectoryInfo("directory_path").GetFiles();
Array.Sort(array, delegate(System.IO.FileInfo f1, System.IO.FileInfo f2)
{
return f2.CreationTimeUtc.CompareTo(f1.CreationTimeUtc);
});
아마 LINQ와 목록 ...이 같은 일을해야 사용하는 것이이 같은 somithing 시도
DirectoryInfo di = new DirectoryInfo("YourPath");
List<FileInfo> files = di.GetFiles().OrderBy(f => f.CreationTime).ToList();
foreach (FileInfo file in files)
{
//do something
}
죄송합니다 .Net 3.0을 사용하고 있습니다. LINQ를 사용할 수 없습니다. 모든 .Net 3.0 기반 솔루션? – George2
같은 :
DirectoryInfo di = new DirectoryInfo("path to folder");
FileInfo[] files = di.GetFiles();
IOrderedEnumerable<FileInfo> enumerable = files.OrderBy(f => f.CreationTime);
foreach (FileInfo info in enumerable)
{
// do stuff...
}
죄송합니다 .Net 3.0을 사용하고 있습니다. LINQ를 사용할 수 없습니다. 모든 .Net 3.0 기반 솔루션? – George2
DirectoryInfo baseFolder=new DirectoryInfo("folderName");
FileInfo[] files=baseFolder.GetFiles("");
for(int i=1; i<=files.Length;i++)
for(int j=1; j<files.Length;j++)
{
if(files[j].CreationTime > files[j+1].CreationTime)
{
FileInfo f = files[j];
files[j] = files[j+1];
files[j+1] = f;
}
}
프레임 워크가 콜렉션을 주문하기에 많은 것을 가지고 있기 때문에 나는 모든 것을 다시 써야한다는 것을 알지 못합니다! –
편집 :, 여기에 위의 가장 오래된 최신별로 정렬됩니다 비 LINQ 솔루션
FileInfo[] files = new DirectoryInfo("directory").GetFiles();
Array.Sort(files, delegate(FileInfo f1, FileInfo f2) {
return f2.CreationTime.CompareTo(f1.CreationTime);
});
에게의 업데이트되었습니다. return f1.CreationTime.CompareTo(f2.CreationTime);
LINQ 솔루션 : 최근의 변화에 위임 가장 오래된로 정렬하려면
FileInfo[] files = new DirectoryInfo("directory").GetFiles();
var results = files.OrderByDescending(file => file.CreationTime);
사용 OrderByDescending 가장 최근 CREATIONTIME을하여 정렬을 달리하는 가장 오래된 최신 CREATIONTIME에서 정렬 할 수있는 OrderBy를 사용합니다.
다른 답변에 대한 사용자 의견에 기반한 비 LINQ 솔루션 추가 –
- 1. DOS : 파일 형식을 제외하는 디렉터리 목록?
- 2. 목록 파일 C (.LST)
- 3. ASP.NET의 컴파일 파일 디렉터리
- 4. C# 목록 상자에서 파일 열기 파일 목록
- 5. 설정에 여러 디렉터리 저장 및 목록 상자로로드
- 6. C++ 모든 파일 정보가 담긴 파일 목록
- 7. C# ActiveX 개체의 현재 디렉터리
- 8. 디렉터리 만들기 및 파일 복사
- 9. C++에서 ofstream으로 만든 파일의 디렉터리 경로는 어떻게 찾습니까?
- 10. C/C++ 자동 재귀 폴더/디렉터리 만들기로 파일 복사
- 11. 다른 파일의 파일 이름으로 파일 만들기 C++
- 12. Visual Studio 링크 된 파일 디렉터리 구조
- 13. C# 디렉터리 변경 감지
- 14. SPSite 디렉터리 선택 (C#)
- 15. 디렉터리/파일 사용 권한 문제
- 16. C#에서 디렉터리 이름 바꾸기
- 17. 디렉터리에 액세스하는 동안 디렉터리 아래에있는 모든 파일의 특성 가져 오기
- 18. 폴더 및 모든 파일/하위 디렉터리 삭제
- 19. 디렉터리 수정 모니터링
- 20. 파일 저장 및 자동으로 디렉터리 만들기
- 21. 현재 파일의 멤버 목록
- 22. 단일 파일 복사시 디렉터리 항목을 복사하십시오.
- 23. C# 다른 서버에 디렉터리 복사
- 24. C++을 사용하는 교차 플랫폼 재귀 파일 목록?
- 25. Silverlight에서 컨텐트 파일의 파일 이름 얻기
- 26. 파일 무게와 텍스트 파일의 줄 수는? (C#)
- 27. C++ 파일 작업 : 파일의 특정 행을 읽습니다.
- 28. FindFirstFileEx에 대한 파일 시스템 지원, 디렉터리 제한
- 29. Visual Studio C++ 2009의 프로젝트 파일 디렉터리 외부에 소스 파일 저장
- 30. 파일 목록 가져 오기
질문에 따라 가장 최근의 파일을 갖도록 주문을 되돌릴 필요가 없습니까? –
세드릭, 당신 말이 맞아요. 감사. –
두 번째 포인트 : VS2008을 사용하면 2.0 또는 3.0에서도 람다를 사용할 수 있습니다! 읽기 쉽게 ... 그러나 빌드 프로세스에서 MsBuild 3.5 (예 : CI 서버 사용)를 사용하는 경우에만 사용할 수 있습니다. –