import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.LinkedList;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;
public class PersistenciaArquivos {
public void criaArquivoProdutos(String nomeArquivo) throws IOException {
String conteudo = "002+DVD+eletrônico\n"
+ "001+Monitor+informática\n"
+ "003+Batedeira+eletrodoméstico";
File arquivo = new File(nomeArquivo);
FileOutputStream stream = new FileOutputStream(arquivo);
OutputStreamWriter writer = new OutputStreamWriter(stream);
writer.write(conteudo);
writer.close();
stream.close();
}
public void imprime(String nomeArquivo) throws IOException {
File arquivo = new File(nomeArquivo);
FileInputStream stream = new FileInputStream(arquivo);
InputStreamReader reader = new InputStreamReader(stream);
BufferedReader bufReader = new BufferedReader(reader);
String linha = bufReader.readLine();
while (linha != null) {
System.out.println(linha);
linha = bufReader.readLine();
}
bufReader.close();
reader.close();
stream.close();
}
public List<Produto> carregaProdutos(String nomeArquivo, int quantidade) throws IOException {
List<Produto> retorno = new LinkedList<Produto>();
File arquivo = new File(nomeArquivo);
FileInputStream stream = new FileInputStream(arquivo);
InputStreamReader reader = new InputStreamReader(stream);
BufferedReader bufReader = new BufferedReader(reader);
while (quantidade > 0) {
String linha = bufReader.readLine();
if (linha != null) {
String[] valores = linha.split("\+");
Produto prod = new Produto(valores[0], valores[1], valores[2]);
retorno.add(prod);
} else {
break;
}
quantidade--;
}
bufReader.close();
reader.close();
stream.close();
return retorno;
}
public void percorrer(String nomeArquivo) throws FileNotFoundException{
Set percorrer = new TreeSet();
File arquivo = new File(nomeArquivo);
FileInputStream stream = new FileInputStream(arquivo);
InputStreamReader reader = new InputStreamReader(stream);
BufferedReader bufReader = new BufferedReader(reader);
}
}
public class Produto {
private String codigo;
private String descricao;
private String tipo;
public Produto() {
super();
}
public Produto(String codigo, String descricao, String tipo) {
super();
this.codigo = codigo;
this.descricao = descricao;
this.tipo = tipo;
}
public String getCodigo() {
return codigo;
}
public void setCodigo(String codigo) {
this.codigo = codigo;
}
public String getDescricao() {
return descricao;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
public String getTipo() {
return tipo;
}
public void setTipo(String tipo) {
this.tipo = tipo;
}
@Override
public String toString() {
return "Produto [codigo="
+ (codigo == null ? "" : codigo)
+ ", descricao=" + (descricao == null ? "" : descricao)
+ ", tipo=" + (tipo == null ? "" : tipo) + "]";
}
}
e o MAin:
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.List;
import java.util.Scanner;
;
public class TestIO {
public static void main(String[] args) {
PersistenciaArquivos p = new PersistenciaArquivos();
String nomeArquivo = "produtos.txt";
Scanner scanner = new Scanner(System.in);
System.out.print("Entre o comando: ");
String cmd = scanner.nextLine();
while (!"0".equalsIgnoreCase(cmd)) {
if ("1".equalsIgnoreCase(cmd)) {
try {
p.criaArquivoProdutos(nomeArquivo);
} catch (IOException e) {
e.printStackTrace();
System.out.println("Erro ao tentar gerar arquivo: " + nomeArquivo);
}
} else if ("2".equalsIgnoreCase(cmd)) {
try {
p.imprime(nomeArquivo);
} catch (FileNotFoundException e) {
System.out.println("Arquivo " + nomeArquivo + " não disponível.");
} catch (IOException e) {
System.out.println("Erro ao tentar imprimir arquivo: " + nomeArquivo);
}
} else if ("3".equalsIgnoreCase(cmd)) {
try {
List<Produto> produtos = p.carregaProdutos(nomeArquivo, 3);
System.out.println(produtos);
} catch (FileNotFoundException e) {
System.out.println("Arquivo " + nomeArquivo + " não disponível.");
} catch (IOException e) {
System.out.println("Erro ao tentar imprimir arquivo: " + nomeArquivo);
}
} else {
System.out.println("Comando indisponível!");
}
System.out.print("Entre o comando: ");
cmd = scanner.nextLine();
}
}
}
agradeço ...