Implementar

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

Iria facilitar se vc postasse a stack-trace do erro e quando for colocar códigos utilize a tag [code]

[]'s

desculpe mas com o codigo dessa maneira fica dificil entender alguma coisa…

para isso existem as tags…

http://www.guj.com.br/posts/list/50115.java

 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();
}
} 

desculpem galera…ta i dnovo