Filtrando o nome de um arquivo [RESOLVIDO]

10 respostas
oliveira.pris

Olá galera,

Estou precisando de um ajudinha :lol:

Preciso criar um método que filtre de determinado "caminho" somente o nome do arquivo.

Não faço idéia de como seguir com esse código.

public class NomeArquivo {

	private String nome;
	
	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public void separarNome(String nome) {
		//código que separa apenas o nome do arquivo

	}
	
	public static void main(String[] args) {
		
		NomeArquivo n1 = new NomeArquivo();
		
		String n2 = new String();
		
		n2 = ("T:\Priscila\Sondagem\SONDAGEM-T.dwg");
		
		n1.separarNome(n2);
	}

}

Desde já agradeço pela atenção!

Um abraço,

Priscila.

10 Respostas

lina

Oi,

Que tipo de filtro?

Tchauzin!

doug

Olá

Talvez isso possa te ajudar: http://java.sun.com/docs/books/tutorial/uiswing/components/filechooser.html

Até mais
Espero ter ajudado

oliveira.pris

lina,

A partir desse caminho n2 = (“T:\Priscila\Sondagem\SONDAGEM-T.dwg”);

Eu precisava armazenar somente “SONDAGEM-T.dwg”.

Nesse código eu simulei o caminho…mas no código real poderia ser um código diferente, ou seja, eu preciso de um método que a partir de um determinado caminho ele filtre apenas o nome do arquivo…

T

Use a classe java.io.File, que apesar do nome é feita para trabalhar com nomes de arquivos e diretórios, não criar arquivos e diretórios.

Exemplo:

import java.io.File;
.......
File f = new File ("T:\Priscila\Sondagem\SONDAGEM-T.dwg");  
File dir = f.getParent();
System.out.println (dir); // imprime "t:\priscila\sondagem"
System.out.println (f.getName()); // imprime "SONDAGEM-T.dwg""

java.io.File tem mais métodos interessantes, veja a documentação ( http://java.sun.com/javase/6/docs/api/java/io/File.html )

P

Caso não funcione o esquema do file que o amigo thingol postou, aqui tem outra solução que talvez funcione.

private String nomeArquivo(String s){
        Boolean flag = true;
        int i = 0;
        while(flag){
            if(s.indexOf("/")!=-1){
                i = s.indexOf("/");
            }
            else
                flag = false;
        }
        return s.substring(i);
    }
lina

Oi,

Procure por FilenameFilter essa classe é bem interessante.

Tchauzin!

Vini_Fernandes

Uma solucao simples eh:

public class NomeArquivo {  
      
        private String nome;  
          
        public String getNome() {  
            return nome;  
        }  
      
        public void setNome(String nome) {  
           this.nome = nome;  
       }  
     
       public void separarNome(String nome) {  
           //código que separa apenas o nome do arquivo  
     
       }  
         
       public static void main(String[] args) {  
             
           NomeArquivo n1 = new NomeArquivo();  
             
           String caminho = new String();  
             
           caminho = "T:\Priscila\Sondagem\SONDAGEM-T.dwg";  
           System.out.println(separaNomeArquivo(caminho));
             
       }  
       
      //implementacao do metdo que voce precisa
       public static String separaNomeArquivo(String caminho){
    	   String nomeArquivo = null;
    	   int indice = caminho.lastIndexOf("\");
    	   nomeArquivo = caminho.substring(indice+1); 
    	   return nomeArquivo;
       }
     
   }

t+

oliveira.pris

Vini,

Muito obrigada!

Exatamente o que eu queria!

Um abraço e mais uma vez agradeço pela atenção de todos!

R

faça assim

[code]

File dir = new File("T:\\Priscila\\Sondagem");

if (dir.isDirectory()) {

//Aqui você tera todos os arquivos desse diretório
String list[] = dir.list();

//For para percorrer todos os arquivos desse diretório
for(int i = 0; i < list.length; i++){

//Aqui você verifica se existem arquivos com a extensão .dwg
if(list[i].endsWith("DWG") || list[i].endsWith("dwg")){

//Aqui você terá apenas o nome do arquivo, no caso do seu exemplo, teria SONDAGEM-T.dwg
String nomeArquivo = list[i];

}else{
JOptionPane.showMessageDialog(null, "Não existem arquviso com a extensão DWG nesse dirtório!");
}

}

}else{
JOptionPane.showMessageDialog(null, "Diretorio: " + dir + " nao encontrado!");
}

R

faça assim

File dir = new File("T:\Priscila\Sondagem");

if (dir.isDirectory()) {

         //Aqui você tera todos os arquivos desse diretório
	 String list[] = dir.list();

        //For para percorrer todos os arquivos desse diretório
        for(int i = 0; i < list.length; i++){

                //Aqui você verifica se existem arquivos com a extensão .dwg
                if(list[i].endsWith("DWG") || list[i].endsWith("dwg")){

                         //Aqui você terá apenas o nome do arquivo, no caso do seu exemplo, teria SONDAGEM-T.dwg
                         String nomeArquivo = list[i];

                 }else{
                        JOptionPane.showMessageDialog(null, "Não existem arquviso com a extensão DWG nesse dirtório!");
                 }

        }

}else{
         JOptionPane.showMessageDialog(null, "Diretorio: " + dir + " nao encontrado!");
}
Criado 3 de novembro de 2009
Ultima resposta 3 de nov. de 2009
Respostas 10
Participantes 7