Quebra texto

Galera sou novo aqui por isso não sei muito bem como criar um novo tópico espero que esteja correto.

Minha dúvia e a seguinte estou criando uma classe para manipular texto de um arquivo para outro.
O básico já consegui fazer que é abrir ler o texto e gravar em outro texto.
O problema está quando preciso manipular de fato o texto.
Preciso pegar um trecho do texto original e recorta para o outro texto ex.:

arquivo1.txt

Primeiro linha
CO9textoinserido
maistexto
maistexto
CO9quebralinha
maistextomaistexto
CO9maisumaquebra
maistexto

arquivo2.txt

Primeira linha
CO9textoinserido
maistexto
maistexto

arquivo3.txt
CO9quebralinha
maistextomaistexto

O arquivo1.txt e grande e preciso quebra ele em varios texto menores separando ele pelos 3 primeiros caracteres “CO9”.
estou usando SubString para pegar os 3 primeiros caracteres mas não sei como pegar uma parte do texto indo de um ponto até ou outro a quebra será sempre no “CO9”

Alguém poderia me dar uma luz.

Obrigado

Olá, não sei se entendí bem sua dúvida, tente usar \n para pular/quebrar linha.

Cara voce pode usar
http://download.oracle.com/javase/1.4.2/docs/api/java/util/StringTokenizer.html
ou
o split
http://www.guj.com.br/posts/list/34168.java
Separar o texto e ir gravando em arquivos.
Acho que era isso.

Obrigado pelas resposta.

Tentei usar o StringTokenizer mais ele não está pegando de um ponto até o outro pelo que eu entedi o StringTokenizer ou split ele só pega a linha com o parametro que vc passa.
eu gostaria de pegar uma parte do texto de um parametro até o outro.

No seu caso, provavelmente você tem de fazer algo como:

para cada linha do arquivo de entrada
    ler a linha
    se ela começar por CO9, 
        fechar o arquivo de saída, se houver algum arquivo aberto,
        criar um novo arquivo de saída 
        gravar a linha
    senão
        gravar a linha no arquivo de saída corrente.

Não tem expressão regular nem nada nessa história. Basicamente é só você fazer algo bem braçal mesmo.

quando faço o if ele pega apenas as linhascom C09.
O que preciso é que ele pegue de um C09 até o outro.
pegando assim um bloco de caracteres.

galera,

Ainda o mesmo problema preciso pegar um trecho do texto onde ele começa com C09 e vai até o proximo C09.
o programa tem que pegar de um C09 até outro.
Alguém tem alguma dica de como posso compara de um até outro valor.

obrigado

[quote=sandro.ci02]Cara voce pode usar
http://download.oracle.com/javase/1.4.2/docs/api/java/util/StringTokenizer.html[/quote]

Putz, dá até tristeza ver gente no GUJ ainda recomendando o StringTokenizer, sendo que o próprio Javadoc dele diz que ele não deveria ser mais usado.

Mago ice, a lógica a seguir faz mais ou menos o que você quer:

int index = texto.indexOf("C09"); while (index != -1) { String trecho = texto.substring(0, index); processar(trecho); //Esse é um método que vc implementa, que vai tratar o trecho separado. texto = texto.substring(index+3); index = texto.indexOf("C09"); } processar(texto);

Godoy,

é quase isto mesmo que preciso como vc disse
Mas quando pego o trecho para tratar ele vem sem o C09 é preciso deste código.
É possivel pegar um trecho completo com o código C09 ou depois que quebrar o texto preciso colocar o código de novo na primeira linha.

Grato

Você pode concatenar o trecho “C09” antes de colocar no arquivo o trecho capturado.

vou testar

como está o codigo até o momento

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.util.*;


public class Teste {

	public static void main(String[] args){

			try{
				
				
		        FileReader reader = new FileReader("C:\LeituraTeste.txt");   
			    BufferedReader leitor = new BufferedReader(reader);
			    
			   				
				String texto;
				while((texto = leitor.readLine()) != null){					
					int index = texto.indexOf("C09");
					System.out.println(index);
			    	while (index != -1) {			    	   	
				       String trecho = texto.substring(0, index);
				       System.out.println(trecho);
				       texto = texto.substring(index + 1);		       
				       index = texto.indexOf("C09");
				    }
					
				}
				

			}catch (Exception e) {
				// TODO: handle exception
			}
			
	}
			
			
	}

mais a logica usando o while para leitura do arquivo while((texto = leitor.readLine()) != null) não está funcionando.
alguem tem alguma dica?