Usuário com melhor resposta
Editar um parte de um arquivo TXT

Pergunta
-
Respostas
-
Bom dia Eduardo,
O interessante a se fazer nesses casos, é predefinir uma leitura do arquivo para um array, e a partir do array você configura o que precisa no text box, com isso, sugiro o seguinte código abaixo para você colocar em um array, como você já sabe jogar um text box, esse exemplo se servirá.
private string arquivo; private string mensagem; private void MetodoParaLerLinhaArquivo() { List<string> mensagemLinha = new List<string>(); using (OpenFileDialog openFileDialog = new OpenFileDialog()) { openFileDialog.Title = "xxxxxxxxxo"; openFileDialog.InitialDirectory = @"c:\Program Files"; //Se ja quiser em abrir em um diretorio especifico openFileDialog.Filter = "All files (*.*)|*.*|All files (*.*)|*.*"; openFileDialog.FilterIndex = 2; openFileDialog.RestoreDirectory = true; if (openFileDialog.ShowDialog() == DialogResult.OK) arquivo = openFileDialog.FileName; } if (String.IsNullOrEmpty(arquivo)) { MessageBox.Show("Arquivo Invalido", "Salvar Como", MessageBoxButtons.OK); } else { using (StreamReader texto = new StreamReader(arquivo)) { while ((mensagem = texto.ReadLine()) != null) { mensagemLinha.Add(mensagem); } } int registro = mensagemLinha.Count; //total de linhas do arquivo. for (int i = 0; i < mensagemLinha.Count; i++) { TextBox textbox1 = new TextBox(); textbox1.Text += mensagemLinha[i]; File.WriteAllText(arquivo, mensagemLinha[i] + "1"); } } }
Atenciosamente Roberto Alves- Marcado como Resposta Marcos SJ quinta-feira, 13 de agosto de 2015 14:11
Todas as Respostas
-
estou usando o codigo abaixo, apenas preciso definir em qual linha que vou inserir a mensagem, no codigo abaixo ele ta limpando todo o arquivo.
Stream saida = File.Open("c:\\Teste\\"+comboBox1.Text, FileMode.Open); StreamWriter escritor = new StreamWriter(saida); escritor.WriteLine(txtValor.Text); escritor.Close(); saida.Close();
-
Bom dia Eduardo,
O interessante a se fazer nesses casos, é predefinir uma leitura do arquivo para um array, e a partir do array você configura o que precisa no text box, com isso, sugiro o seguinte código abaixo para você colocar em um array, como você já sabe jogar um text box, esse exemplo se servirá.
private string arquivo; private string mensagem; private void MetodoParaLerLinhaArquivo() { List<string> mensagemLinha = new List<string>(); using (OpenFileDialog openFileDialog = new OpenFileDialog()) { openFileDialog.Title = "xxxxxxxxxo"; openFileDialog.InitialDirectory = @"c:\Program Files"; //Se ja quiser em abrir em um diretorio especifico openFileDialog.Filter = "All files (*.*)|*.*|All files (*.*)|*.*"; openFileDialog.FilterIndex = 2; openFileDialog.RestoreDirectory = true; if (openFileDialog.ShowDialog() == DialogResult.OK) arquivo = openFileDialog.FileName; } if (String.IsNullOrEmpty(arquivo)) { MessageBox.Show("Arquivo Invalido", "Salvar Como", MessageBoxButtons.OK); } else { using (StreamReader texto = new StreamReader(arquivo)) { while ((mensagem = texto.ReadLine()) != null) { mensagemLinha.Add(mensagem); } } int registro = mensagemLinha.Count; //total de linhas do arquivo. for (int i = 0; i < mensagemLinha.Count; i++) { TextBox textbox1 = new TextBox(); textbox1.Text += mensagemLinha[i]; File.WriteAllText(arquivo, mensagemLinha[i] + "1"); } } }
Atenciosamente Roberto Alves- Marcado como Resposta Marcos SJ quinta-feira, 13 de agosto de 2015 14:11
-
Roberto agradeço desde ja sua resposta, deu certo com a lista, porem nao sei como fazer agora, ou seja.
tenho um arquivo eu edito ele, e depois disso eu copio para outra pasta (até la tudo 100%)
mas no arquivo original preciso excluir aquela determinada linha que inseri, estou tentando usar o
linhas.RemoveAt(3);
porem nao estou sabendo onde colocar ele.
alguem consegue me ajudar ?
-
PESSOAL resolvi com o cod obrigado a todos
if (linhas.Count > numeroLinha) linhas.RemoveAt(3); else linhas.Add(textoInserir); StreamWriter wrtr2 = new StreamWriter(nomeArquivo); foreach (string strNewLine in linhas) { wrtr2.WriteLine(strNewLine); } wrtr2.Close();