Galera…preciso de uma ajuda…meu codigo ta dando pau, e ja nao sei mais onde procurar o q ta errado nele, ta tenso…è pra ele ler 4 arquivos e gerar um com o conteudo dos quatro. MA ta dando erro em duas classes , ja fiz quase tudo e nao consigo tirar o erro , deem uma olhada ai:
public abstract class Arquivo {
public static final String NOMEARQUIVO = “arquivo.txt”;
private String nome;
public Arquivo(){
this(Arquivo.NOMEARQUIVO);
}
//construtor para dar um nome ao arquivo
public Arquivo(String _nome){
this.setNome(_nome);
}
//private para que nao de problema no caso de mudar o nome do arquivo
//e assim causar alguma excessao
private void setNome(String _nome){
this.nome=_nome;
}
public String getNome(){
return this.nome;
}
//como este metodo tem em mais duas classes de arquivo
//ele é abstrato para forcar sua implementacao
public abstract void fecha()throws Exception;
}
//importação necessária para a manipulação de entrada/saída
import java.io.;
//importação necessária para a manipulação de strings com StringTokenizer
import java.util.;
public class ArquivoEnt extends Arquivo{
private BufferedReader arqEntrada;
//para nome default
public ArquivoEnt() throws Exception {
this(Arquivo.NOMEARQUIVO);
}
public ArquivoEnt(String _nomeEnt) throws Exception {
super(_nomeEnt);
this.arqEntrada = new BufferedReader(new FileReader(this.getNome()));
}
public Item le() throws Exception {
String linha = this.arqEntrada.readLine();
if(linha == null)
return null;
else {
StringTokenizer partes = new StringTokenizer(linha);
int numero = Integer.parseInt(partes.nextToken());
return new Item(numero);
}
}
public void fecha() throws Exception {
this.arqEntrada.close();
}
}
public class Item {
private int num;
public Item (int _num){
this.num = _num;
}
public int getNum(){
return this.num;
}
public void setNum(int _num){
this.num = _num;
}
}
public class No {
int valor;
No prox;
No(int valorNo){
valor = valorNo;
prox = null;
}
public No getProx(){
return this.prox;
}
}
public class NoInteiros{
No prim, ult;
int numero_nos;
NoInteiros(){
prim = ult = null;
numero_nos = 0;
}
void insere (No novoNo){
novoNo.prox = null;
if (prim==null)
prim=novoNo;
if (ult!=null)
ult.prox = novoNo;
ult = novoNo;
numero_nos++;
}
public No getPrim(){
return this.prim ;
}
public void setPrim(No _no){
this.prim = _no;
}
public String toString(){
String msg = “”;
No atual = this.prim;
while(atual != null){
msg += atual.getNum() + “\n”;
atual = atual.getProx();
return msg;
}
}
}
import java.io.*;
public class Uso {
public static void main(String[] args) {
BufferedReader entrada;
entrada = new BufferedReader (new InputStreamReader(System.in));
int valor;
try{
NoInteiros lista = new NoInteiros();
// lê o conteúdo do arquivo “Arquivo1”
ArquivoEnt arq1 = new ArquivoEnt(“C:/Arquivo1.txt”);
//lendo e armazenando na lista
while (arq1.le()!=null)
valor = Integer.parseInt(entrada.readLine());
lista.insere(new NoInteiros());
arq1.fecha(); //fecha o Arquivo1
//lê o conteúdo do arquivo “Arquivo2”
ArquivoEnt arq2 = new ArquivoEnt(“C:/Arquivo2.txt”);
//lendo e armazenando na lista
while(arq2.le()!=null)
lista.insere(arq2.le());
arq2.fecha(); //fecha o Arquivo2
// lê o conteúdo do arquivo “Arquivo3”
ArquivoEnt arq3 = new ArquivoEnt(“C:/Arquivo3.txt”);
//lendo e armazenando na lista
while (arq3.le()!=null)
lista.insere(arq3.le());
arq3.fecha(); //fecha o Arquivo3
//lê o conteúdo do arquivo “Arquivo4”
ArquivoEnt arq4 = new ArquivoEnt(“C:/Arquivo4.txt”);
//lendo e armazenando na lista
while(arq4.le()!=null)
lista.insere(arq4.le());
arq4.fecha(); //fecha o Arquivo4
//armazena o conteúdo da lista em um novo Arquivo
ArquivoSai arquivoSaida = new ArquivoSai(“C:/ArquivosConcatenados.txt”);
No atual = lista.getPrim();
while(atual!=null)
arquivoSaida.grava(atual.getNum());
atual = atual.getProx();
arquivoSaida.fecha();
}
catch(FileNotFoundException e) {
System.out.println(“arquivo inexistente”);
}
catch(IOException e) {
System.out.println(“erro no acesso ao arquivo”);
}
catch(Exception e) {
System.out.println(“erro”);
}
}
}
import java.io.*;
public class ArquivoSair extends Arquivo{
private BufferedWriter arqSaida;
//para nome default
public ArquivoSair() throws Exception {
this(Arquivo.NOMEARQUIVO);
}
public ArquivoSair(String _nome) throws Exception {
super(_nome);
this.arqSaida = new BufferedWriter(new FileWriter(this.getNome()));
}
public void grava(Item registro) throws Exception {
this.arqSaida.write(registro.toString()+"\r\n");
}
public void fecha() throws Exception {
this.arqSaida.close();
}
}
uns dos erros esta na funçao lista.insere