none
Como fazer leitura de arquivo em C# no Visual Studio 2012 para uma app de Windows 8? RRS feed

  • Pergunta

  • Por favor, quais são as bibliotecas que tenho que usar para ler arquivo e como utilizá-las?

    Tentei dezenas de métodos diferentes, mas não estou conseguindo usar o Stream como nas versões anteriores do Visual Studio. Por favor, me ajudem! No site da MSDN tem algumas soluções em C# mas nenhuma delas serviu. Só preciso abrir um arquivinho txt e ler as linhas...

    Abraço!

    domingo, 16 de dezembro de 2012 20:27

Respostas

  • Obrigadão, Thiago!

    Depois também tive problemas pra converter o arquivo de Western Europe para UTF8... Basicamente precisei abrir ele no VS, fui em File / Advanced Save Options  e escolhi Unicode(UTF-8 with signature) - Codepage 65001. Pronto!

    Olhem como ficou o código:

     public async void lerDoArquivo(String nomeArq)
            {
                try
                {
                    StorageFolder folder = Windows.ApplicationModel.Package.Current.InstalledLocation;
                    StorageFile testFile = await folder.GetFileAsync(nomeArq);
                    IList<string> fileContent = await FileIO.ReadLinesAsync(testFile);


                        foreach (string s in fileContent)
                        {
                            listaAnimais.Add(s);
                        }
                }

                catch (FileNotFoundException)
                {
                    this.error = "Arquivo não encontrado!";
                }
                
            }


    • Marcado como Resposta D i g ã o terça-feira, 18 de dezembro de 2012 16:18
    • Editado D i g ã o terça-feira, 18 de dezembro de 2012 18:19
    terça-feira, 18 de dezembro de 2012 16:17

Todas as Respostas

  • As bibliotecas e namespaces da Windows Store Apps são diferentes do que estamos acostumados a usar no .NET convencional, a maioria dos namespaces do Windows 8 são "Windows.Algo" ao invés de "System.algo", para se trabalhar com arquivos, você deve usar o "Windows.Storage" e "Windows.Storage.FileIO".

    Veja esses exemplos, irão te ajudar:

    Exemplo 1

    Exemplo 2

    Espero ter ajudado, abraços!


    Thiago Coelho - Líder das Comunidades .NET Coders e Windows 8 Brasil
    thiagocoelho.net | @thiagokoelho

    terça-feira, 18 de dezembro de 2012 11:41
  • Obrigadão, Thiago!

    Depois também tive problemas pra converter o arquivo de Western Europe para UTF8... Basicamente precisei abrir ele no VS, fui em File / Advanced Save Options  e escolhi Unicode(UTF-8 with signature) - Codepage 65001. Pronto!

    Olhem como ficou o código:

     public async void lerDoArquivo(String nomeArq)
            {
                try
                {
                    StorageFolder folder = Windows.ApplicationModel.Package.Current.InstalledLocation;
                    StorageFile testFile = await folder.GetFileAsync(nomeArq);
                    IList<string> fileContent = await FileIO.ReadLinesAsync(testFile);


                        foreach (string s in fileContent)
                        {
                            listaAnimais.Add(s);
                        }
                }

                catch (FileNotFoundException)
                {
                    this.error = "Arquivo não encontrado!";
                }
                
            }


    • Marcado como Resposta D i g ã o terça-feira, 18 de dezembro de 2012 16:18
    • Editado D i g ã o terça-feira, 18 de dezembro de 2012 18:19
    terça-feira, 18 de dezembro de 2012 16:17