Jump to content

Recommended Posts

Posted

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);

				}




			}



			}


		}
Posted

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)

{

}

Posted

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

Posted

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)

{

}

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.