Por favor me ajudem (IO)

3 respostas
M
import java.io.*;

public class VehicleRpt implements VFields
{	
	public VehicleRpt(String in, String out) throws IOException
	{		
		File fin = new File(in);				
		File fout = new File(out);		
	}
	
	public boolean writeReport()
	{
		try
		{
			FileInputStream fis = new FileInputStream(fin);
			DataInputStream dis = new DataInputStream(fis);	
			
			FileOutputStream fos = new FileOutputStream(fout);
			DataOutputStream dos = new DataOutputStream(fos);
			
			System.out.println(dis.readUTF());
			System.out.println(dis.readUTF());
			System.out.println(dis.readString());
			System.out.println(dis.readUTF());
			System.out.println(dis.readUTF());
			System.out.println(dis.readUTF());
		}
		
		catch (IOException ioe)
		{
			System.out.println("erro");
		}
	}		
}

Pessoal, esse eh o meu codigo, tenho que ler um arquivo com IO lendo em bytes. As especificacoes do trabalho dizem que devo construir os objetos com os nomes dos arquivos no construtor. Mas se fizer isso eles ficam fora de "scope" e ai nao posso utilizar o objeto para ler o arquivo, como devo proceder?

3 Respostas

jgbt

Cara,
Declare os objetos File fora do construtor, faça eles somente serem inicializados pelos parametros dentro do construtor.
Tipo:

public class VehicleRpt implements VFields {    
    File fin;
    File fout;
   public VehicleRpt(String in, String out) throws IOException {       
      fin = new File(in);             
      fout = new File(out);       
   }

O trabalho diz p/ inicializar no costrutor não declarar dentro do construtor.Isso deve resolver.
Pelo certo vc deveria implementar metodos get e set p/ os atributos, mas isso ja é outra discussão.

Espero ter ajudado.

[]'s

M

consegui =)
muito obrigado!!!

M

bom, nem terminei uma pergunta e ja tenho outra =/

while ( ) { System.out.println(dis.readUTF()); //model System.out.println(dis.readUTF()); //type System.out.println(dis.readUTF()); // color System.out.println(dis.readDouble()); //price System.out.println(dis.readUTF()); // style System.out.println(dis.readUTF()); //option }

Estou lendo bytes de um arquivo! gostaria de saber como sei onde fica o ultimo “caractere” no caso acima para eu botar no meu while loop?

perdao estar abusando de voces gujeiros…

Criado 30 de janeiro de 2004
Ultima resposta 31 de jan. de 2004
Respostas 3
Participantes 2