Ajuda - Busca - Membros - Calendário
Versão Completa: Ler quantas linhas tem
Fórum Script Brasil > Programação & Desenvolvimento > .NET
Totty
Galera estou com dificuldade, é o seguinte
Seleciono a pasta onde estão os arquivos e dai eles são listados, apos a listagem eu dou dois cliques e informa quantas linhas tem o arquivo, mas esta dando erro, olha o q eu fiz:

AQUI SELECIONA A PASTA COM OS ARQUIVOS

CODE
void btnSelecArquivo_Click(object sender, EventArgs e)
        {        
            FolderBrowserDialog fbdAbrir = new FolderBrowserDialog();
            if (fbdAbrir.ShowDialog() == DialogResult.OK)
            {
                textBoxSelecArquivo.Text = fbdAbrir.SelectedPath;
                listBoxListagem.Items.Clear();

                //Desabilita paint (melhor performance)
                listBoxListagem.BeginUpdate();

                VerificarArquivos(fbdAbrir.SelectedPath);

                //Habilita paint
                listBoxListagem.EndUpdate();
            }
          
        }

        void VerificarArquivos(string pasta)
        {
            DirectoryInfo dirInfo = new DirectoryInfo(pasta);
            DirectoryInfo[] directories = dirInfo.GetDirectories();
            FileInfo[] files = dirInfo.GetFiles();

            //Loop nos arquivos
            foreach (FileInfo fileInfo in files)
            {
                using (StreamReader streamReader = new StreamReader(fileInfo.FullName))
                {
                    string str = streamReader.ReadToEnd().ToLower();
                    listBoxListagem.Items.Add(fileInfo.Name);
                }
            }
            //Loop nos sub-diretórios (chamada recursiva).
            foreach (DirectoryInfo directoryInfo in directories)
            {
                VerificarArquivos(directoryInfo.FullName);
            }
        }


AQUI É ONDE EU DEVO DAR 2 CLIQUES MAS ESTA DANDO ERRO:

CODE
private void listBoxListagem_DoubleClick(object sender, EventArgs e)
        {
            try
            {
                if (listBoxListagem.SelectedItem != null)
                {
                    int counter = 0;
                    string line;
                    StreamReader file = new StreamReader(listBoxListagem.SelectedItem.ToString());
                    while ((line = file.ReadLine()) != null)
                    {
                        Console.WriteLine(line);
                        counter++;
                    }

                    //Mostra quantas linhas tem o arquivo
                    textBoxTotalLinhas.Text = counter.ToString();
                    file.Close();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Ocorreu um erro: " + ex.Message);
            }
        }


DA ERRO EM: StreamReader file = new StreamReader(listBoxListagem.SelectedItem.ToString());
Could not find file 'C:\Documents and Settings\guilherme\meus documentos\visual studio 2010\Projects\Aplicacao\Aplicacao\bin\Debug\Cópia de Novo(a) Documento de texto.txt'
Gafanhoto
Esse arquivo "Cópia de Novo(a) Documento de texto.txt" existe no diretório?

Já experimentou fazer o código em outra pasta e não a pasta DEBUG da aplicação? Tipo colocar o caminho físico?
Esta é uma versão simplificada de nosso conteúdo principal. Para ver a versão completa com maiores informações, formatação e imagens, por favor clique aqui.
Invision Power Board © 2001-2012 Invision Power Services, Inc.