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
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:
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'
Pergunta
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
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: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'
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.