Erro ao ler arquivo

Opa galera, tudo bom?

Estou fazendo um teste aqui, porem esta dando um erro que nao sei resolver, apenas tento ler um arquivo, porem sem sucesso.

(o arquivo esta vazio)

public static void main(String[] args) {
		try {
			String path = "C:/temp/customers";
			File custFile = new File(path, "customers.dat");
			
			FileInputStream fileInputStream = new FileInputStream(custFile);
			ObjectInputStream in = new ObjectInputStream(fileInputStream); // erro
			
			fileInputStream.close();
			in.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

erro:
java.io.EOFException
at java.io.ObjectInputStream$PeekInputStream.readFully(Unknown Source)
at java.io.ObjectInputStream$BlockDataInputStream.readShort(Unknown Source)
at java.io.ObjectInputStream.readStreamHeader(Unknown Source)
at java.io.ObjectInputStream.(Unknown Source)
at Teste1.main(Teste1.java:18)

Valeeu

Olá

Tente ler o arquivo direto, assim

File custFile = new File(“C:/temp/customerscustomers.dat”);

Vc também pode tentar assim com duas contra barra

File custFile = new File(“C:\ \temp\ \customerscustomers.dat”);

File custFile = new File(“C:/temp/customers/customers.dat”);
if(custFile.exists()){

FileReader fr = new FileReader(custFile);
BufferedReader br = new BufferedReader(fr);
while (br.ready()) {
String linha = br.readLine();
}

}

Amigo sequencia de escape “\” Barras invertidas. Utilizada para imprimir um caractere de barra invertida \ .

hm, não sabia, eu uso normalmente em minhas aplicações estas duas barras invertidas.

Inclusive, se copiar um caminho do windows e colar no netbeans, ele mesmo já cola com as barras invertidas, não sei dizer porque.

@bruno_bls, no caso, está certo usar o \\ do jeito que você fez. Se quiser uma maneira mais multiplataforma, use a barra normal: /
Ela funciona em linux, windows e mac.

Sobre o erro do ObjectInputStream… @shenn, você sabe como esse arquivo foi escrito? E esse arquivo tem dados dentro? Outra coisa, tem certeza que esse erro não dá uma linha onde tem um comando de read?