[Resolvido] Ler um arquivo .txt e quando encontrar um ponto final (.)

8 respostas
A

Resumindo cada final de frase vai para uma nova linha.

Eu não sei nada, nada, nada mesmo de java e me pediram pra fazer isso aqui no serviço, então to precisando muito de ajuda, não tenho nem noção de como fazer, então qualquer coisa já me ajuda, nem que seja qualquer programa que seja parecido pelo menos pra eu ter uma base. Agradeço desde já.

8 Respostas

War_Paz

Onde eu tô agora não dá pra programar, mas posso te dizer mais ou menos o rumo:

Use um BufferedReader e use o método readLine() para ler cada linha do arquivo. Em cada leitura, use o método contains() usando “.”, para saber se tem “pontos” na linha lida, o resto não posso te dizer por que não dá pra testar, como já disse, o que eu acho que te levaria à conclusão, mas encontre um meio de substituir esse ponto por “\n”, que é uma quebra de linha em java

Ah, da próxima vez que for postar, tente não postar toda sua dúvida no título ou já ser muito direto no título. Como vejo que é novato, quando for postar código use as tags “code” para facilitar a leitura

Até mais!

xandevieira

Duas formas, existem outras

public static void main(String[] args) throws FileNotFoundException, IOException {
		Leitura leitura = new Leitura();
		leitura.leituraStringTokenizer();
		leitura.leitura();
	}

	public void leituraStringTokenizer() throws FileNotFoundException, IOException {
		PrintWriter pw = new PrintWriter("c:\\NovoArquivo1.txt");
		File file = new File("c:/arquivo.txt");
		if (!file.exists()) {
			System.exit(-1);
		}
		BufferedReader in = new BufferedReader(new FileReader(file));
		try {
			StringBuilder builder = new StringBuilder();
			String line;
			while ((line = in.readLine()) != null) {
				StringTokenizer token = new StringTokenizer(line, ".");
				while (token.hasMoreElements()) {
					builder.append(token.nextToken().trim());
				}
			}
			pw.write(builder.toString());
		} finally {
			pw.flush();
			pw.close();
		}
	}

	public void leitura() throws FileNotFoundException, IOException {
		PrintWriter pw = new PrintWriter("c:\\NovoArquivo2.txt");
		File file = new File("c:/arquivo.txt");
		if (!file.exists()) {
			System.exit(-1);
		}
		BufferedReader in = new BufferedReader(new FileReader(file));
		try {
			String line;
			StringBuilder builder = new StringBuilder();
			while ((line = in.readLine()) != null) {
				builder.append(line.trim().replaceAll("\\.", "\r\n"));
			}
			pw.write(builder.toString());
		} finally {
			pw.flush();
			pw.close();
		}
	}
A

Obrigado ao War Paz pela as dicas, sou novato mesmo :slight_smile: e ao avsouza por os dois tipos de soluções. Pode dar o tópico como resolvido.

War_Paz

Que isso, o código do avsouza já resolveu seu problema :slight_smile:

Clique em “Editar” no canto direito superior e ponha [resolvido] no assunto :wink:

Abraços, a paz de Deus

drsmachado

Pelo contrário, o código do avsouza aumentou teu problema e criou mais.
Quando pedem para você fazer algo e você sabe, ótimo. Vá lá e faça. Agora, quando não sabe, seja sincero, diga “Eu não sei”. Mas não apenas isso. Desta forma, soa como você apenas não saiba e não esteja nem aí para aprender. Diga “Eu não sei, mas se tiver um tempo para estudar, eu aprenderei”.
Esta postura é diferente, mostra força de vontade, ímpeto de crescer e vontade de progredir.
Por que penso que criou um (ou vários) problemas maiores para si mesmo? Este sistema é extremamente simples, mas, como você sabe e fez, com certeza virão outros, mais complexos e aí, camarada, você vai fazer como? Aliás, se for preciso alterar, para ler outros formatos ou fazer coisas diferentes desta, na frente do chefe, por exemplo?

Aos foristas que responderam e, principalmente ao avsouza, a intenção foi boa, mas de boas intenções o inferno está cheio. Lembre-se, não dê o peixe ao pescador (ou o bolsa-família ao brasileiro), isso o torna ocioso e vadio, impedindo que ele mesmo veja a necessidade de ir atrás de aprendizado, aperfeiçoamento e melhores condições.

A

Eu falei que eu não sei, até porque essa não é a minha função aqui no trabalho, me pediram caso eu conseguisse então fui atrás . Eu não parei para analisar o código do avsouza ainda e claro que eu não vou passar o código sem tentar entender ele antes. Assim sendo, eu dei o tópico como resolvido pois o War Paz já me deu um excelente ponto de partida, que posso terminar pesquisando o resto na internet.

drsmachado

Não me interessa qual o teu ponto de vista sobre isto. Se tivessemos um registro profissional, isso seria exercício ilegal, assim como é quando você mesmo decide qual medicamento usar. Quais as proporções disto? Quanto mais pessoas sem a devida qualificação e/ou conhecimento (qualificação != estudo != conhecimento) fazem coisas assim, menores ficam os salários da nossa área e maiores as atividades a serem desempenhadas por profissionais, em troca de salários miseráveis.

Tua intenção também não foi ruim, só que o contexto onde ela se encaixa é esse.

xandevieira

hj estou de bom humor, minhas ferias estão chegando

Criado 18 de dezembro de 2012
Ultima resposta 18 de dez. de 2012
Respostas 8
Participantes 4