Preciso Dividir este arquivo que está em anexo como imagem 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) {
Pergunta
jr.vercosa
Preciso Dividir este arquivo que está em anexo como imagem 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:
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.