Ir para conteúdo
Fórum CódigoFonte.net
jr.vercosa

Dividir aquivo TXT em vários arquivos TXT - Java

Recommended Posts

Preciso Dividir este arquivo que está em anexo em dois, meu código lê linha a linha e quando vai criar os novos arquivos.txt ele cria um arquivo para cada linha, sendo que, o que eu preciso é que ele separe sempre que encontrar o número 1 na primeira posição da linha, ou seja, quando a linha começar com 1 será o novo arquivo e quando a linha começar com 3 será a ultima linha de cada arquivo, ou seja, cada intervalo de linhas que a primeira linha comece com 1 e a linha comece com 3 será um novo arquivo contendo as linhas, no caso desse arquivo em anexo os arquivos serão separado de 3 em 3 linha de acordo com a regra, segue o código:

 

public static void main(String[] args) throws IOException {
InputStream is = new FileInputStream("ARQUIVO.TXT");
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
 
String linha = br.readLine();
int numeroArquivo = 1;
 
while (linha != null) {
File file = new File("ARQUIVO" + numeroArquivo + ".TXT");
OutputStream os = new FileOutputStream(file);
OutputStreamWriter osw = new OutputStreamWriter(os);
BufferedWriter bw = new BufferedWriter(osw);
 
if (!linha.contains("P") && linha.trim().length() == 11) {
bw.append(linha);
linha = null;
} else {
bw.append(linha);
bw.newLine();
linha = br.readLine();
}
numeroArquivo++;
bw.close();
}
br.close();
//bw.close();
}

ARQUIVO.txt

Compartilhar este post


Link para o post
Compartilhar em outros sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Visitante
Responder

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Processando...

×
×
  • Criar Novo...