Caminho no "File"

Pessoal, bom dia.

Tenho uma função que retorna um objeto File.
Necessito pegar deste File apenas o caminho, desconsiderando o arquivo. Por exemplo, de “C:\teste.txt”, preciso capturar apenas o “C:”.

getPath(), getCanonicalPath() e getAbsolutePath() retornaram o nome do arquivo junto.

Alguém sabe como resolver?

Obrigado.

Eu particularmente não lembro um método que faça isso (pois acho que nunca precisei), mas após retornar uma String com o caminho completo (mesmo com o nome do arquivo junto), você pode trabalha-la (Usandos a API String) e capturar apenas a parte que você quer.

Valeu, Jair.

Obrigado pela dica.

Bom dia L.Bach,
Acredito que um substring ajudaria você, fiz um teste rápido aqui de uma olhada.

[code]public class FileTest {

private static String path1 = "C:/Test/Guj/";
private static String path2;

public static void main(String[] args) {
	
	path2 = path1.substring(0,3);
	System.out.println(path2);

}

}[/code]

http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html

Abraço…t+

[]'s
Razec

Pode ser feito algo como:

// Recebe o arquivo de um método qualquer...
		File file = objetoQualquer.getFile();
		// Pega o caminho completo do arquivo
		String caminhoCompleto = file.getAbsolutePath();
		/* Pega o indice da última barra invetida e adiciona
		 * um para que a barra seja incluída na substring. Se
		 * o índice da barra for -1, significa que não foi
		 * encontrado aquele caracter (o sistema operacional deve
		 * ser outro que não Windows. Então, pegamos o índice da
		 * barra comum (e não da invertida).
		 */
		int indiceBarra = caminhoCompleto.lastIndexOf("\") + 1;
		if (indiceBarra == 0) {
			indiceBarra = caminhoCompleto.lastIndexOf("/") + 1;
		}
		// Basta pegar o substring com o caminho da pasta.
		String caminhoPasta = caminhoCompleto.substring(0, indiceBarra);

Razec,

Dessa forma, sempre receberei fixo a raiz, e o que busco, na verdade, é o caminho inteiro até chegar ao arquivo.

Marcos Biscaro,

Exatemente isso!

Valeu pessoal
Abraço

Pegue o diretório superior do arquivo através do método getParent(), por exemplo:

public static void getPath() { File f = new File("D:\JULIANO\Mapa 03.pdf"); System.out.println("isFile: " + f.isFile()); System.out.println("getPath: " + f.getPath()); System.out.println("getParent: " + f.getParent()); }

Juliano,

Valeu, fera.
Abraço