Galera, tenho um programa básico que le dados de itens de estoque, como nome, descrição, nivel do estoque, nivel minimo e preço. Todos esses atributos estou na classe ItensEstoque, no qual contem os metodos get´s e set´s. Depois que um objeto é criado, jogo ele para o Array de objetos. O que eu quero fazer é jogar esse dados em um arquivos, por exemplo:
Codigo: 0
Nome : nome0
Descrição: descricao0
Estoque: 000
Estoque minimo: 0
Preço: 000
Todo bean que você quiser gravar deve implementar a classe Serializable. Ou seja a sua Classe ItemsPedido deve ficar parecida com alguma coisa do tipo:
public class ItensEstoque implements Serializable {
...
...
...
}
Caros Colegas, tenho um problema. Como posso ter uma classe chamada LerCpfCgc, esta classe irá abrir um arquivo texto que contém CPF e Cgc Válidos e Inválidos. Ter outra classe chamada Utilitarios, esta classa por sua vez irá identificar se é cpf ou cgc e se esses são válidos ou inválidos e depois gravar os válidos em um arquivo de arquivos válidos e os inválidos. Todos os métodos são estáticos e estão prAaticamente prontos porém não consigo fazer com que a classe que le os cpfs e cgcs mandem estes para análise e gravação na classe utilitários
Pessoal sou novo no mundo Java, mas já tenho algumas encrencas pra arrumar, alguem pode me mandar um codigo que leia e compare nome de arquivos e pastas?!?!
Fico no aguardo de uma ajuda.
Obrigado!
Realmente agora deu certo, consegui gerar o arquivo, mais voce precisa ver oq ele escreveu no arquivo, um monte de caracter estranhos, nem da pra achar oq eu digitei… ta mo esquisito, assim num dianta nada !!
¬í sr ItensEstoqueB¹†HøÂ¦ I CodZ FlagI
NivelAtualI NivelMinF PrecoF TotalItemL Descricaot Ljava/lang/String;L Nomeq ~ xp
Cz t aMonitort aMonitor
para ler o arquivo use ObjectInputStream que funciona.
tá tudo certo com o arquivo, de uma pesquisada sobre serialização que vc vai entender…
o que acontece é que as informações não foram gravadas em modo texto, se vc quiser que seja asism use a classe PrintWriter e faça println.
Com o PrintWriter é a mesma coisa do que fazer System.out.println… só que é para arquivos
no código que lhe passe anteriormente eu mostrei como se faz com o PrintWriter
PrintWriter out = new PrintWriter(new FileOutputStream("file.txt"));
out.println(...)
out.close()
Depois de abrir o arquivo, vc faz out.println() igual como se faz System.out.println(), então basta imprimir os valores do seu objeto chamando os métodos get
tente assim,
for(...array de objetos ...)
{
out.println(seuObjeto.getNome());
out.println(seuObjeto.getEstoque());
out.println("------------------------");
}
assim faz em modo texto, é bem simples usar o PrintWriter. É igual fazer System.out.println();
Me ajuda no seguinte, entendi o que é pra fazer segue um trecho do meu código:
//Antes disso eu peço os dados e guardo através do set’s no objeto Itens
write.println("–> Codigo : " + Itens.getCod());
write.println("–> Nome : " + Itens.getNome());
write.println("–> Descricao : " + Itens.getDesc());
write.println("–> Nivel Atual : " + Itens.getNivelAtual());
write.println("–> Nivel Minimo : " + Itens.getNivelMin());
write.println("–> Preco : " + Itens.getPreco());
write.println("---------------------------------------------");
write.close();
Seria isso né ?
Se for me ajuda a criar uma outra classe por ser Arquivo onde teria os métodos de escreita e leitura do arquivo e passaria como parâmetro o objeto Itens, tem jeito ???
ao fazer readLine() ele retorna a linha que vc escreveu:
vai retornar algo assim: “Codigo : 1” mas vc precisa somente do número 1.
eu fiz retornar um objeto porque ao ler do arquivo, vc cria um novo objeto
new ItensEstoque()… e depois da um “set” em todas as propriedades, então o objeto vai estar preenchido e pronto para ser retornado.
então fora do método, de quem o chamou, vc pode recuperar o objeto assim
ItensEstoque item = arquivo.read(); // le do arquivo e retorna um objeto
veja que seria melhor retornar uma lista
Ahhhhhhh, agora saquei… mas agora não faço a mínima ideía de como pegar somente o 1 do “–> Codigo: 1”, poderia me ajudar. Me ajudando nesse acho que consigo fazer nos outros atributos.
Se num for abusa muito, como seria criar uma lista ? Como ficaria o código ?
Ahhh, ta dando erro na classe Arquivo que voce crio:
C:j2sdk1.4.1_02arquivos_javaFulanoArquivo.java:15: unreported exception java.io.FileNotFoundException; must be caught or declared to be thrown
write = new PrintWriter(new FileOutputStream(NomeArquivo));
vc precisa colocar tudo em um bloco try{}catch(Exception e){}
quanto a Lista crie um ArrayList e chame o método add(Object) para adicionar as instacias que vc criar… então retorne a lista ao invés de um objeto apenas
quanto ao arquivo utilize a classe StringTokenizer