Pegar um caminho absoluto( workspace do eclipse). java.io

10 respostas
R

Olá amigos… gostei do novo layout do GUJ. Então, estou usando java.io para trabalhar com diretórios, arquivos… etc. No entanto, precisaria saber se tem como eu pegar o caminho do workspace que o eclipse, ou usuario escolheu e armazenar em uma variavel. O metodo que estou usando, esta usando um caminho fixo.

No exemplo abaixo estou criando uma pasta e um arquivo dentro do caminho que passei.

public void gerarPacotesCliente() {
		try {                                -- caminho fixo que eu passei
			File arq = new File("C:/FDDK/Workspace/Extratores/src/" + cliente);	
                                                       -- aki eu queria passar apenas o caminho que  foi definido quando instalou o eclipse pela primeira vez
			arq.mkdirs();
			arq.listFiles();
			File arquivo = new File("C:/FDDK/Workspace/Extratores/src/" + cliente + "/" + "BI.java"); 			
			if (!arquivo.exists())
				arquivo.createNewFile();
			writer = new PrintWriter(new FileWriter(arquivo));
			escreverBI(null);
		} catch (Exception ex) {
			ex.printStackTrace();
		}
	}

Acredito não ter sido muito claro,contudo, espero por sugestões.

10 Respostas

Marcelo_FS
File f = new File("resources/arquivo.txt"); // root (workspace) / resources / arquivo.txt
File f = new File("/resources/arquivo.txt");  // %User.Home% / resources / arquivo.txt

:wink:

R

Ola. Muito obriado pela resposta, agora o me diga o que significa aquele “resources”?

Marcelo_FS

Só um exemplo de pasta… pode ser qualquer coisa.

darkan666

MarceloS:
File f = new File("resources/arquivo.txt"); // root (workspace) / resources / arquivo.txt File f = new File("/resources/arquivo.txt"); // %User.Home% / resources / arquivo.txt

:wink:

aqui não rolou não…ele não acha o caminho da workspace sozinho… :frowning:

Enadrov

Se você colocar só assim :

File file = new File("Arquivo.txt");

Ele vai criar o arquivo dentro da pasta do seu projeto, no meu caso ficaria assim:

D:\workspace\Evandro\Arquivo.txt

Para mim colocar dentro da pasta onde fica a classe, não entendi se é isso que vc quer, foi o que entendi.
O endereco da minha pasta é: D:\workspace\Evandro\bin\exercicio eu teria que fazer assim:

File file = new File("bin/exercicio/Text.txt");

Se é isso que vc queria, espero ter ajudado!

darkan666

Enadrov … só q quando eu dou o commando pra criar o arquivo, ele não consegue achar o caminho… eu tive que criar uma classe de “configuração” pra setar os valores…
infelizmente não rolou usar um “path” dinamico…

carolino

Talvez uma alternativa para pegar o caminho dinâmico seria:

String caminhoAtual = new File("").getAbsolutePath();

depois você pode concatenar com o nome do arquivo para ter o caminho completo

Um pequeno exemplo:

String caminhoAtual = new File("").getAbsolutePath();
String novoArquivo = caminhoAtual + File.separator  + "arquivo.txt";
new File(novoArquivo).createNewFile();
darkan666

carolino:
Talvez uma alternativa para pegar o caminho dinâmico seria:

String caminhoAtual = new File("").getAbsolutePath();

depois você pode concatenar com o nome do arquivo para ter o caminho completo

Um pequeno exemplo:

String caminhoAtual = new File("").getAbsolutePath(); String novoArquivo = caminhoAtual + File.separator + "arquivo.txt"; new File(novoArquivo).createNewFile();

showwwwwwwwww finalmente alguma dica que funcionou do jeito que eu queria :smiley: obrigado carolino o/*

J

Não sei se é isso, mas sugiro que você olhe o que indico abaixo:

http://docs.oracle.com/javase/7/docs/api/

java.lang.System

Class System

getProperties() <-- com o parâmero: (user.dir) = User’s current working directory.

Abs.

darkan666

joagostini:
Não sei se é isso, mas sugiro que você olhe o que indico abaixo:

http://docs.oracle.com/javase/7/docs/api/

java.lang.System

Class System

getProperties() <-- com o parâmero: (user.dir) = User’s current working directory.

Abs.

poxa isso msm :smiley: assim fica melhor… não fica com cara de “gambiarra” ahuahuahua :smiley:

Criado 18 de fevereiro de 2009
Ultima resposta 13 de ago. de 2012
Respostas 10
Participantes 6