Mad Mikey™ Publicado 7 Janeiro 2011 Será que alguém me pode ajudar? Eu tou a fazer 1 trabalho em C#. Uma biblioteca multimédia com listagem de filmes, musica e fotos em que o programa permite adicionar, apagar, alterar e emprestar. O programa tá quase feito, faltando-me a parte dos empréstimos. O que eu pretendia era apagar, por exemplo, 1 linha do ficheiro filmes.txt e passar essa linha para o ficheiro emprestimos.txt e não tou a ver como fazer isso. Alguém sabe? Alguma sugestão? Se for preciso eu coloco aqui o código que tenho até ao momento Compartilhar este post Link para o post
ZeroZeroPeras Publicado 12 Janeiro 2011 (editado) Se calhar o mais fácil é usares ficheiros auxiliares, em que, p.e. copias o ficheiro filmes.txt e lês linha a linha no novo ficheiro, passas a linha pretendida para o ficheiro emprestimos.txt e as restantes para o filmes.txt (fazendo um overwrite ao ficheiro). Não sei se existe algo no C# para retirar uma determinada linha Editado 12 Janeiro 2011 por ZeroZeroPeras Compartilhar este post Link para o post
shelton Publicado 12 Janeiro 2011 (editado) Eu sei C e C++. Agora C# não sei quais são as diferenças em relação a C e C++ por isso não serei o mais indicado para te ajudar. :confuso: Editado 12 Janeiro 2011 por shelton Compartilhar este post Link para o post
Mad Mikey™ Publicado 12 Janeiro 2011 Já consegui fazer isso, não acho que seja a forma mais facil, mas ficou a funcionar { StreamReader erase = new StreamReader("filmes.txt"); string carro; //lê a 1ª linha do ficheiro carro = erase.ReadLine(); //continua a ler até o ficheiro não ter mais info int a = 0; while (carro != null) { a++; //escreve a 1ª linha na consola Console.WriteLine("{0}-> {1}", a, carro); //lê as restantes linhas carro = erase.ReadLine(); } //fecha a streamreader apague erase.Close(); Console.ReadLine(); string line = null; int line_number = 0; string line1 = null; int line_number1 = 0; Console.WriteLine("Qual a linha que quer mover?"); int mm = Convert.ToInt32(Console.ReadLine()); using (StreamReader reader = new StreamReader("filmes.txt")) { using (StreamWriter writer = new StreamWriter("emprestimosfilmes.txt", true)) { while ((line = reader.ReadLine()) != null) { line_number++; if (line_number != mm) continue; writer.WriteLine(line); } writer.Close(); reader.Close(); } using (StreamReader reader1 = new StreamReader("filmes.txt")) { using (StreamWriter writer1 = new StreamWriter("filmes2.txt")) { while ((line1 = reader1.ReadLine()) != null) { line_number1++; if (line_number1 == mm) continue; writer1.WriteLine(line1); } writer1.Close(); } } File.Delete("filmes.txt"); File.Move("filmes2.txt", "filmes.txt"); } } Compartilhar este post Link para o post