If não entra .. o q está errado?


String nomeArquivo = "C:\" + arquivo.getName();
			
			File arquivosDiretorio = new File("C:\");	
			File[] listaArquivos = arquivosDiretorio.listFiles();			
			List lista = new ArrayList();
			for (int i = 0; i < listaArquivos.length; i++) {
				lista.add(listaArquivos[i]);		
			}
			if (lista.contains(nomeArquivo)){
				System.out.println("ah");
			}

Alguém sabe pq ele não entra?

Simples você estava comparando a String nome do arquivo com o objeto File, nunca ia entrar, fiz umas alterações para compilar ajusta e tenta de novo abraços.

        File arquivo = new File("C:/temp/web.xml");
        
       String nomeArquivo = arquivo.getAbsolutePath ();
        
       
       System.out.println (nomeArquivo);
       
        File arquivosDiretorio = new File(arquivo.getParent ());  
        File[] listaArquivos = arquivosDiretorio.listFiles();           
        List lista = new ArrayList();
        for (int i = 0; i < listaArquivos.length; i++) {
            lista.add(listaArquivos[i].getAbsolutePath ());        
        }
        if (lista.contains(nomeArquivo)){
//            while(arquivo.renameTo(new File(huawei.getDiretorioLocalTratados() + arquivo.getName()))) {
//                String novoNome = arquivo.getName() + "_";
//                arquivo.renameTo(new File(huawei.getDiretorioLocalTratados() + novoNome));
//            }
            System.out.println ("entrou");
        }

Não está entrando no if porque a lista não contém o nome do arquivo.
Veja se dentro dessa lista os itens não estão com espaço em branco em volta (faça um trim() em cada item antes de colocar no ArrayList)

hmm…

vc adicionou objetos File na sua List, e depois quer compara pra ver se tem um objeto String dentro dela?

acho q nao vai entrar mesmo…

troca essa linha

lista.add(listaArquivos[i]);

por esta

lista.add(listaArquivos[i].getName());

[quote=Roger75]Não está entrando no if porque a lista não contém o nome do arquivo.
Veja se dentro dessa lista os itens não estão com espaço em branco em volta (faça um trim() em cada item antes de colocar no ArrayList)[/quote]

Existe pq eu olhei o caminho de cada arquivo e o nomeArquivoe ambos são os mesmo!

thiago.correa,

Alterei o código, mas ainda não resolveu…ele continua não entrando no if

			String nomeArquivo = "C:\HIPAAS_MEDIADOR\arquivos\Huawei\Tratados\" + arquivo.getName();
			//File arquivo = new File("C:\HIPAAS_MEDIADOR\arquivos\Huawei\Tratados\x");	
			File arquivosDiretorio = new File("C:\HIPAAS_MEDIADOR\arquivos\Huawei\Tratados\");	
			File[] listaArquivos = arquivosDiretorio.listFiles();			
			List lista = new ArrayList();
			for (int i = 0; i &lt listaArquivos.length; i++) {
				lista.add(listaArquivos[i].getAbsolutePath());		
			}
			if (lista.equals(nomeArquivo)){
				while(arquivo.renameTo(new File(huawei.getDiretorioLocalTratados() + arquivo.getName()))) {
					String novoNome = arquivo.getName() + "_";
					arquivo.renameTo(new File(huawei.getDiretorioLocalTratados() + novoNome));
				}
			}

[quote=fabiocsi]hmm…

vc adicionou objetos File na sua List, e depois quer compara pra ver se tem um objeto String dentro dela?

acho q nao vai entrar mesmo…

troca essa linha

lista.add(listaArquivos[i]);

por esta

lista.add(listaArquivos[i].getName());[/quote]

Ahh agora entrou… :smiley:

Vlw

[]'s