Duvida E/S no eclipse

4 respostas
LPJava

ae pessoal pq se eu nao especificar o caminho o eclipse cria o arquivo na pasta do meu projeto? e nao dentro do package?
no jedit ele criar o arquivo no mesmo local que salvei meu .java.

package cap6.es;
import java.io.*;
public class Writer1 {

	public static void main(String[] args) {
		//dando nome aos bois - meu arquivo nao criado
		try{
		File f = new File("D:\JAVA\SCJP\revisaocap\cap6\es\camilo.txt");
			System.out.println(f.exists());
		f.createNewFile();
		System.out.println(f.exists());
		}catch(IOException e){}
	}

}

4 Respostas

ViniGodoy

Bem-vindo ao “caminho default” do Java!

Esse é o problema de se criar arquivos usando o diretório “.”.

Você nunca sabe onde o usuário de sua aplicação irá inicia-la e coisas inesperadas podem acontecer. Você não pode inferir que esse seja “o diretório da aplicação” pois, se o usuário alterar o atalho para seu aplicativo e alterar o campo “iniciar em”, o . irá referenciar o caminho que o usuário escreveu.

Algo similar acontece no eclipse, que define como diretório de execução a pasta de seu projeto.

Na verdade, você não deve encarar isso como um problema. Apenas é diferente. Você pode criar uma pasta “files” no seu projeto e sempre criar ou ler files em “.\files”

Isso deixará o seu ambiente mais limpo, sem saídas misturadas com os arquivos .java.

LPJava

hum… entao sempre que criar um arquivo no eclipse ele vai colocar na pasta do projeto? ah no ser que eu informe o local… certo?

ViniGodoy

Isso mesmo.

Pro eclipse o . sempre equivale ao diretório do projeto.

LPJava

valeu vinny!! :smiley:

Criado 28 de fevereiro de 2007
Ultima resposta 28 de fev. de 2007
Respostas 4
Participantes 2