sabing Posted May 13, 2012 at 09:12 PM Report #455193 Posted May 13, 2012 at 09:12 PM olha o codigo que fiz , faço para editar a linha com o nome gustavo? private void button1_Click(object sender, EventArgs e) { using (StreamReader lendo = new StreamReader("C:\\Users\\Familia\\Downloads\\agenda.txt")) { int total = 0; while (lendo.Peek() != -1) { int linha = File.ReadAllLines("C:\\Users\\Familia\\Downloads\\agenda.txt").GetLength(0); for (int i = 1; i <= linha; i++) { string caminhoArquivo = @"C:\\Users\\Familia\\Downloads\\agenda.txt"; //Numero da linha que o conteúdo vai ser alterado //Lendo arquivo e atribuindo em um array de string string[] arquivo = File.ReadAllLines(caminhoArquivo); //Mudando o valor da linha informada arquivo[i] = "gustavo"; //gravando o conteúdo por cima do arquivo,porem trava nessa linha falando que ja esta em uso como faço para editar a linha com o nome gustavo? System.IO.File.WriteAllLines(caminhoArquivo, arquivo); } } } }
sabing Posted May 13, 2012 at 10:13 PM Author Report #455248 Posted May 13, 2012 at 10:13 PM pessoal eu coloquei um try para , parar de travar o programa pois ele esta substituindo tudo eu so quero a palavra da pesquisa do arquivo txt olha o codigo try { using (StreamReader lendo = new StreamReader("C:\\Users\\Familia\\Downloads\\agenda.txt")) { while (lendo.Peek() != -1) { int linha = File.ReadAllLines("C:\\Users\\Familia\\Downloads\\agenda.txt").GetLength(0); for (int i = 1; i <= linha; i++) { string caminhoArquivo = @"C:\\Users\\Familia\\Downloads\\agenda.txt"; //Numero da linha que o conteúdo vai ser alterado //Lendo arquivo e atribuindo em um array de string string[] arquivo = File.ReadAllLines(caminhoArquivo); //Mudando o valor da linha informada arquivo = textBox2.Text; lendo.Close(); //gravando o conteúdo por cima do arquivo,porem trava nessa linha falando que ja esta em uso System.IO.File.WriteAllLines(caminhoArquivo, arquivo); } } } } catch (Exception) { }
petvetbr Posted May 13, 2012 at 10:16 PM Report #455251 Posted May 13, 2012 at 10:16 PM O problema é que você está abrindo o arquivo via StreamReader (somente leitura) e depois está tentando salvar o arquivo. O jeito de fazer isto geralmente é assim: 1) Abrimos o arquivo, carregamos todos os dados na memória, como você já está fazendo. 2) Fechamos o arquivo 3) Depois de fazer as modificações necessárias, neste caso na string, abrimos novamente o arquivo em modo de gravação (usando o StreamWriter) por exemplo e gravamos os modificaçoes. Procure ler sobre o TextReader e TextWriter que são facilitadores do uso de streams com texto. Fernando Lage Bastos - MCP/MCTS/MCPD
sabing Posted May 13, 2012 at 10:18 PM Author Report #455252 Posted May 13, 2012 at 10:18 PM eu estava olhando o codigo descobrir que estava faltando um if o problema que ele nao esta percorrendo todo o datagrid try { using (StreamReader lendo = new StreamReader("C:\\Users\\Familia\\Downloads\\agenda.txt")) { while (lendo.Peek() != -1) { int linha = File.ReadAllLines("C:\\Users\\Familia\\Downloads\\agenda.txt").GetLength(0); for (int i = 1; i <= linha; i++) { if (lendo.ReadLine() == textBox1.Text) { string caminhoArquivo = @"C:\\Users\\Familia\\Downloads\\agenda.txt"; //Numero da linha que o conteúdo vai ser alterado //Lendo arquivo e atribuindo em um array de string string[] arquivo = File.ReadAllLines(caminhoArquivo); //Mudando o valor da linha informada arquivo = textBox2.Text; lendo.Close(); //gravando o conteúdo por cima do arquivo,porem trava nessa linha falando que ja esta em uso System.IO.File.WriteAllLines(caminhoArquivo, arquivo); } } } } } catch (Exception) { }
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now