Então…mas como disse antes…uso Java 1.4. Essas Annotacions não rolam.
Conhece uma outra forma? Poderia me ajudar? Ainda sequer consegui reconhecer o erro que está dando.
Valeu
Então…mas como disse antes…uso Java 1.4. Essas Annotacions não rolam.
Conhece uma outra forma? Poderia me ajudar? Ainda sequer consegui reconhecer o erro que está dando.
Valeu
[quote=arthurgon]Olá meus amigos;
Ainda não deu certo. Estou tendo um erro acredito eu de formatação do texto.
Segue o erro:
java.lang.NumberFormatException: For input string: "CAMPO"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:468)
at java.lang.Integer.parseInt(Integer.java:518)
at testes.MensagemDAO.main(MensagemDAO.java:25)
Exception in thread "main"
[/quote]
Isso é porque provávelmente a primeira linha do arquivo tem o nome das colunas.
Abra o arquivo e veja o formato dele! se é isso, ignore a primeira linha no codigo.
[quote]
Aliás…nesse caso…como faço para inserir todos esses objetos numa lista? To usando Java 1.4(Exigencia da aplicação).[/quote]
Cara, tenha calma e leia as coisas direito. Eu já mostrei como adiciona na lista logo no primeiro exemplo.
Vc cria um List e faz add , mas facil impossivel.
Ainda não rolou mesmo criando uma lista. Alguém tem idéia de como resolvo esse erro?
java.lang.NullPointerException
at java.io.FileInputStream.<init>(FileInputStream.java:103)
at java.io.FileInputStream.<init>(FileInputStream.java:66)
at java.io.FileReader.<init>(FileReader.java:41)
O código ficou dessa forma:[code]
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import casasbahia.supervisor.vo.MensagemVO;
public class TxtFileMensagemDAO {
private String filePath; //"C:/Documents and Settings/arthur.gomes/Desktop/P2DAQ014.txt""
public synchronized List findAll() throws Exception{
try {
List lista = new ArrayList();
FileReader fr = new FileReader(filePath);
// BufferedReader para o FileReader:
BufferedReader br = new BufferedReader(fr);
String line;
while ((line = br.readLine()) != null) {
MensagemVO vo = new MensagemVO();
// faz o parse da linha e seja valores , por exemplo se fosse separado por ;
String[] fields = line.split(";");
int cod_msg = Integer.parseInt(fields[0]);
vo.setCod_msg(cod_msg);
vo.setDescr_msg(fields[1]);
int cod_emp = Integer.parseInt(fields[2]);
vo.setCod_emp(cod_emp);
int cod_fil = Integer.parseInt(fields[3]);
vo.setCod_fil(cod_fil);
int cod_tiplis = Integer.parseInt(fields[4]);
vo.setCod_tiplis(cod_tiplis);
vo.setTs_tiplis(fields[5]);
lista.add(vo);
}
} catch (FileNotFoundException e) {
throw new Exception(e);
} catch (IOException e) {
throw new Exception(e);
}
return null;
}
[/code]}
E o main ficou assim:
[code]public static void main(String[] args) throws Exception {
TxtFileMensagemDAO dao = new TxtFileMensagemDAO();
List turnos = dao.findAll();
for (int i=0;i<turnos.size();i++) {
MensagemVO vo = (MensagemVO) turnos.get(i);
System.out.println("Codigo da Mensagem:"+ vo.getCod_msg());
System.out.println("Descricao da mensagem:" + vo.getDescr_msg());
System.out.println("Codigo da Empresa:"+ vo.getCod_emp());
System.out.println("Codigo da Filial:"+ vo.getCod_fil());
System.out.println("Em haver:" + vo.getCod_tiplis());
System.out.println("Em haver:" + vo.getTs_tiplis());
System.out.println("Listado com sucesso!!");
}
}
[/code]
Se alguem souber
Tentou tirar o comentário dessa parte?
private String filePath = "C:/Documents and Settings/arthur.gomes/Desktop/P2DAQ014.txt";
Flw.
Sim…mas mesmo assim o erro persiste.
java.lang.NumberFormatException: For input string: "CAMPO"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:468)
at java.lang.Integer.parseInt(Integer.java:518)
at testes.MensagemDAO.main(MensagemDAO.java:25)
Exception in thread "main"
O código ficou assim:
[code]
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import casasbahia.supervisor.vo.MensagemVO;
public class TxtFileMensagemDAO {
private String filePath="C:/Documents and Settings/arthur.gomes/Desktop/P2DAQ014.txt";
public synchronized List findAll() throws Exception{
try {
List lista = new ArrayList();
FileReader fr = new FileReader(filePath);
// BufferedReader para o FileReader:
BufferedReader br = new BufferedReader(fr);
String line;
while ((line = br.readLine()) != null) {
MensagemVO vo = new MensagemVO();
// faz o parse da linha e seja valores , por exemplo se fosse separado por ;
String[] fields = line.split(";");
int cod_msg = Integer.parseInt(fields[0]);
vo.setCod_msg(cod_msg);
vo.setDescr_msg(fields[1]);
int cod_emp = Integer.parseInt(fields[2]);
vo.setCod_emp(cod_emp);
int cod_fil = Integer.parseInt(fields[3]);
vo.setCod_fil(cod_fil);
int cod_tiplis = Integer.parseInt(fields[4]);
vo.setCod_tiplis(cod_tiplis);
vo.setTs_tiplis(fields[5]);
lista.add(vo);
}
} catch (FileNotFoundException e) {
throw new Exception(e);
} catch (IOException e) {
throw new Exception(e);
}
return null;
} [/code][/code]
Alguém consegue me ajudar?
Preciso apenas importar as linhas desse arquivo txt.
o main ficou assim:
[code] public static void main(String[] args) throws Exception {
TxtFileMensagemDAO dao = new TxtFileMensagemDAO();
List turnos = dao.findAll();
for (int i=0;i<turnos.size();i++) {
MensagemVO vo = (MensagemVO) turnos.get(i);
System.out.println("Codigo da Mensagem:"+ vo.getCod_msg());
System.out.println("Descricao da mensagem:" + vo.getDescr_msg());
System.out.println("Codigo da Empresa:"+ vo.getCod_emp());
System.out.println("Codigo da Filial:"+ vo.getCod_fil());
System.out.println("Em haver:" + vo.getCod_tiplis());
System.out.println("Em haver:" + vo.getTs_tiplis());
System.out.println("Listado com sucesso!!");
}
}
}
Valeu !!
Dai guerrero.
presta atenção nessa linha.
int cod_msg = Integer.parseInt(fields[0]);
Em algum dos teus fields está vindo uma String entende.
Por exemplo.
Integer.parseInt("CAMPO");
Como você vai dar um parseInt para uma String? Contendo Letras não tem como né!!
Sugiro que você imprima o retorno detestes fields
tipo.
System.out.println("Retorno do Field = " + fields[0]);
Flw.
[quote=arthurgon]Sim…mas mesmo assim o erro persiste.
[/quote]
Vamos lá… já deu para ver que vc está perdidáço e não a menor ideia do que está a fazer
mas tente prestas atenção.
O codigo que escrevemos aqui é para dar uma ideia de como as coisas funcionam.
Já lhe demos todas as dicas. Vc tem que se esforça para encontrear os problemas e resolver.
O atributo filePath é para conter o nome do caminho do arquivo, mas isso foi só um exemplo!!
Na real vc tem que passar esse caminho com um parametro do construtor ou da classe
Se passar um objeto File ainda melhor.
quando vc popula a lista é com o objetivo de a retornar no final, cadê esse retorno ??
Vc está retornando null, assim nunca irá funcionar.
Porque vc está chamando “turnos” uma lista de “MensagemVO” ? tem algo errado ai.
Ou vc deveria chamar “mensagens” ou vc deveria ter objetos Turno ( o VO no final é desnecessário)
Use break points e execute o codigo passo a passo. Veja o que o line contêm e as suas assunções de regras
de parsing estão corretas. Por exemplo, a coluna 0 sempre tem numeros ?
Tenha um pouco mais de atenção e cuidado que vc chega lá.