Fórum Tratamento de arquivo .txt #552839
01/05/2016
0
Estou tentando criar uma classe que receba um arquivo ".txt" e consiga extrair dele algumas informações, o conteudo do arquivo tem este formato:
1#Joao#25/10/10#100000#2532552
1#Joao#25/10/10#100000#2532552
1#Joao#25/10/10#100000#2532552
1#Joao#25/10/10#100000#2532552
2#Paulo#25/10/10#100000#2532552
2#Paulo#25/10/10#100000#2532552
2#Paulo#25/10/10#100000#2532552
2#Paulo#25/10/10#100000#2532552
3#Roberto#25/10/10#100000#2532552
3#Roberto#25/10/10#100000#2532552
3#Roberto#25/10/10#100000#2532552
3#Roberto#25/10/10#100000#2532552
3#Roberto#25/10/10#100000#2532552
3#Roberto#25/10/10#100000#2532552
4#Cobrou#25/10/10#100000#2532552
6#Devo#25/10/10#100000#2532552
9#Pago se puder#25/10/10#100000#2532552
4#Cobrou#25/10/10#100000#2532552
7#Nao Nego#25/10/10#100000#2532552
5#Pagou#25/10/10#100000#2532552
5#Pagou#25/10/10#100000#2532552
5#Pagou#25/10/10#100000#2532552
5#Pagou#25/10/10#100000#2532552
O código deve criar um arquivo de texto para cada idenficador, representado pelo primeiro elemento da linha, e registrar o conteudo daquela linha no arquivo de texto criado.
Infelizmente so consigo armazenar o registro da primeira linha no arquivo "tratados1.txt", os arquivos restantes são criados mas estão todos em branco.
Estou precisando de ajuda, obrigado.
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package tratar.arquivo;
import java.io.*;
import java.util.Date;
import javax.swing.JOptionPane;
/**
*
* @author MASTER
*/
public class TratarArqv {
public void leitor(File file) throws IOException {
Date data = new Date();
String arquivoSaida1 = "C:\\teste java\\tratados1.txt";
String arquivoSaida2 = "C:\\teste java\\tratados2.txt";
String arquivoSaida3 = "C:\\teste java\\tratados3.txt";
String arquivoSaida4 = "C:\\teste java\\tratados4.txt";
String arquivoSaida5 = "C:\\teste java\\tratados5.txt";
String arquivoSaida6 = "C:\\teste java\\tratados6.txt";
String arquivoSaida7 = "C:\\teste java\\tratados7.txt";
String arquivoSaida8 = "C:\\teste java\\tratados8.txt";
String arquivoSaida9 = "C:\\teste java\\tratados9.txt";
BufferedReader reader;
BufferedWriter writer1 = new BufferedWriter(new FileWriter(arquivoSaida1));
BufferedWriter writer2 = new BufferedWriter(new FileWriter(arquivoSaida2));
BufferedWriter writer3 = new BufferedWriter(new FileWriter(arquivoSaida3));
BufferedWriter writer4 = new BufferedWriter(new FileWriter(arquivoSaida4));
BufferedWriter writer5 = new BufferedWriter(new FileWriter(arquivoSaida5));
BufferedWriter writer6 = new BufferedWriter(new FileWriter(arquivoSaida6));
BufferedWriter writer7 = new BufferedWriter(new FileWriter(arquivoSaida7));
BufferedWriter writer8 = new BufferedWriter(new FileWriter(arquivoSaida8));
BufferedWriter writer9 = new BufferedWriter(new FileWriter(arquivoSaida9));
reader = new BufferedReader(new FileReader(file));
String linha = reader.readLine();
while (linha != null) {
String te[] = new String[5];
te = linha.split("#");
if (1==Integer.parseInt(te[0])) {
writer1.write(linha + "\n");
writer1.flush();
}
if (Integer.parseInt(te[0])==2) {
writer2.write(linha + "\n");
writer2.flush();
}
if (Integer.parseInt(te[0])==3) {
writer3.write(linha + "\n");
writer3.flush();
}
if (Integer.parseInt(te[0])==4) {
writer4.write(linha + "\n");
writer4.flush();
}
if (Integer.parseInt(te[0])==5) {
writer5.write(linha + "\n");
writer5.flush();
}
if (Integer.parseInt(te[0])==6) {
writer6.write(linha + "\n");
writer6.flush();
}
if (Integer.parseInt(te[0])==7) {
writer7.write(linha + "\n");
writer7.flush();
}
if (Integer.parseInt(te[0])==8) {
writer8.write(linha + "\n");
writer8.flush();
}
if (Integer.parseInt(te[0])==9) {
writer9.write(linha + "\n");
writer9.flush();
} else {
break;
}
}
reader.close();
writer1.close();
writer2.close();
writer3.close();
writer4.close();
writer5.close();
writer6.close();
writer7.close();
writer8.close();
writer9.close();
}
}
Henrique Lemos
Curtir tópico
+ 0Post mais votado
01/05/2016
segue o código atual:
[code]/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package split;
/**
*
* @author PURE
*/
import java.io.*;
import java.util.Scanner;
public class Split {
public static void main(String args[]) {
try {
// Reading file and getting no. of files to be generated
String inputfile = "C:\\teste java\\recebidoSvr.txt"; // caminho do arquivo;
File file = new File(inputfile);
Scanner scanner = new Scanner(file);
int count = 0;
while (scanner.hasNextLine()) {
scanner.nextLine();
count++;
}
System.out.println("Lines in the file: " + count); // Mostra quantas linhas tem o arquivo;
//---------------------------------------------------------------------------------------------------------
// Actual splitting of file into smaller files
FileInputStream fstream = new FileInputStream(inputfile);
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String strLine = br.readLine();
String vetor[] = new String[5];
vetor = strLine.split("#");
while(strLine.startsWith("1")){
FileWriter fstream1 = new FileWriter("C:\\teste java\\" + 1 + ".txt", true); // destino do arquivo
BufferedWriter out = new BufferedWriter(fstream1);
strLine = br.readLine();
if (strLine != null) {
out.write(strLine + System.getProperty("line.separator"));
}
out.close();
}
while(strLine.startsWith("2")){
FileWriter fstream1 = new FileWriter("C:\\teste java\\" + 2 + ".txt", true); // destino do arquivo
BufferedWriter out = new BufferedWriter(fstream1);
strLine = br.readLine();
if (strLine != null) {
out.write(strLine + System.getProperty("line.separator"));
}
else {
out.newLine();
}
out.close();
}
while(strLine.startsWith("3")){
FileWriter fstream1 = new FileWriter("C:\\teste java\\" + 3 + ".txt", true); // destino do arquivo
BufferedWriter out = new BufferedWriter(fstream1);
strLine = br.readLine();
if (strLine != null) {
out.write(strLine + System.getProperty("line.separator"));
}
else {
out.newLine();
}
out.close();
}
while(strLine.startsWith("4")){
FileWriter fstream1 = new FileWriter("C:\\teste java\\" + 4 + ".txt", true); // destino do arquivo
BufferedWriter out = new BufferedWriter(fstream1);
strLine = br.readLine();
if (strLine != null) {
out.write(strLine + System.getProperty("line.separator"));
}
else {
out.newLine();
}
out.close();
}
while(strLine.startsWith("5")){
FileWriter fstream1 = new FileWriter("C:\\teste java\\" + 5 + ".txt", true); // destino do arquivo
BufferedWriter out = new BufferedWriter(fstream1);
strLine = br.readLine();
if (strLine != null) {
out.write(strLine + System.getProperty("line.separator"));
}
else {
out.newLine();
}
out.close();
}
while(strLine.startsWith("6")){
FileWriter fstream1 = new FileWriter("C:\\teste java\\" + 6 + ".txt", true); // destino do arquivo
BufferedWriter out = new BufferedWriter(fstream1);
strLine = br.readLine();
if (strLine != null) {
out.write(strLine + System.getProperty("line.separator"));
}
else {
out.newLine();
}
out.close();
}
while(strLine.startsWith("7")){
FileWriter fstream1 = new FileWriter("C:\\teste java\\" + 7 + ".txt", true); // destino do arquivo
BufferedWriter out = new BufferedWriter(fstream1);
strLine = br.readLine();
if (strLine != null) {
out.write(strLine + System.getProperty("line.separator"));
}
else {
out.newLine();
}
out.close();
}
while(strLine.startsWith("8")){
FileWriter fstream1 = new FileWriter("C:\\teste java\\" + 8 + ".txt", true); // destino do arquivo
BufferedWriter out = new BufferedWriter(fstream1);
strLine = br.readLine();
if (strLine != null) {
out.write(strLine + System.getProperty("line.separator"));
}
else {
out.newLine();
}
out.close();
}
while(strLine.startsWith("9")){
FileWriter fstream1 = new FileWriter("C:\\teste java\\" + 9 + ".txt", true); // destino do arquivo
BufferedWriter out = new BufferedWriter(fstream1);
strLine = br.readLine();
if (strLine != null) {
out.write(strLine + System.getProperty("line.separator"));
}
else {
out.newLine();
}
out.close();
}
in
Henrique Lemos
Gostei + 1
Mais Posts
01/05/2016
Marcos Paulo
Gostei + 0
02/05/2016
Henrique Lemos
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)