2013-04-27 3 views
3

나는 런타임에 그 파일에 액세스 할 수 있도록 폴더 (이 폴더는 이미 프로젝트의 일부 임)에 파일 수를 입력해야하는 Windows 기반 응용 프로그램을 개발하려고합니다. 아무도 저에게하는 방법에 대한 아이디어를 줄 수 없다면 큰 도움이 될 것입니다. 내가 그렇게 어떻게 정상 WPF 응용 프로그램에서프로젝트 솔루션의 폴더 안에있는 파일을 어떻게 집계 할 수 있습니까?

우리는 솔루션 내부

DirectoryInfo di = new DirectoryInfo("D:\\Tempo"); 
FileInfo[] fi = di.GetFiles("*", SearchOption.AllDirectories); 
MessageBox.Show(fi.Length.ToString()); 

과 같은 코드 그러나 윈도우 폰을 쓸 수 있습니까?

는이 코드

if (Application.GetResourceStream(new Uri("/WindowsPhone;component/Folder/file09.jpg", UriKind.Relative)) != null) 
{ 
    MessageBox.Show("Hi"); 
} 

하여 하나의 파일 액세스를 얻을하지만 그 폴더 안에이 많은 파일이며, 내가 그 이미지에 액세스 할 수 있습니다 런타임에 있도록 목록에 넣어 할 수 있습니다. 그러나 사용자는이를 알지 못하므로 XAML 코드가 아닌 C# 코드 여야합니다. 어떤 도움이라도 좋을 것입니다.

+0

슬픈 듯이 Windows Phone 애플 리케이션에서,'Directory.GetFiles (@ "c : \ images", ". jpg ")'는 작동하지 않습니다. Windows phone 8에 대한 해결책을 가진 사람은 누구입니까? – Debhere

답변

1

꽤 쉽습니다.

특정 폴더를 솔루션에 추가했는지 확인하십시오. 해당 폴더에 원하는 파일과 함께.

각 파일의 속성과 같이 설정되어 있는지 확인 :

빌드 작업 : 콘텐츠
복사 출력 디렉토리에 :


응용 프로그램이로드를 가지고 있는지 확인 복사하지 마십시오 전화하기 전에

내가 "Testfiles"라는 폴더를 가지고 있고 싶다고 말합니다. 그것으로부터 읽어라 :

private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e) 
{ 
    ReadAllFilesFromFolder("Testfiles"); 
} 

// TODO: recursion to get subfolders and files (maybe?) 
public async void ReadAllFilesFromFolder(string folder_name) 
{ 
    var package = Windows.ApplicationModel.Package.Current.InstalledLocation; 
    var assetsFolder = await package.GetFolderAsync(folder_name); 
    foreach (var file in await assetsFolder.GetFilesAsync()) 
    { 
     // TODO: whatever you want to do with file 
     // string filename = file.Name; 
    } 
} 
+0

답장을 보내 주셔서 감사합니다. 매우 늦었지 만, 필자의 필요를 충족시키기위한 다른 방법이 있지만 분명히 시도해 보겠습니다. 감사합니다. – Debhere

관련 문제