Olá pessoal, sou novo por aqui. Estou com uma dúvida, estou criando um JFrame com jFileChooser e gostaria que na hora de salvar o arquivo copiado ele automaticamente criasse uma pasta para salvar o arquivo direto nessa pasta definindo também o nome da pasta e caso a pasta já exista com o nome definido ele que salve direto na pasta. Tem como fazer isso? Desde já agradeço a atenção.
Não está completo mas para verificar se a pasta ja existe você pode usar este procedimento:
File diretorio = new File (“c:\teste”);
if(diretorio.exists())
//Aqui realizaria a cópia do arquivo
System.out.println("Diretorio já existe no sistema");
else
//Aqui você criaria a pasta e realizaria a cópia do arquivo.
diretorio.mkdirs();
}
–> Você terá que usar a biblioteca: import java.io.*;
Obrigado amigo!
Consegui criar. O problema agora que estou enfrentando é criar uma maneira que quando for
salvar o arquivo ele verifique se o arquivo já existe, caso já exista acrescente 1 no final e assim
sucessivamente. Estou usando paths para copiar o arquivo.
Codigo esta assim:
//Para você verificar se o arquivo já existe faça este modo:
File arquivo = new File(“C:\diretorio\SeuArquivo.txt”);
if (arquivo.exists()) {
}
//Como você disse que o arquivo vai receber uma numeração sequencial.
Você terá que criar um loop que vai verificar arquivo por arquivo e pegando o seu valor numérico, sendo o o nome do arquivo é uma string então não é um número, terá que converter para inteiro antes de fazer a verificação na variável.
//Você terá que ter duas variáveis para realizar a comparação:
//Você terá que copiar apartir de uma determinado posição (depois do nome do arquivo) o valor numérico e jogar em uma variável.
variavélVMaximo = 1;
//Depois a variávelVTeste vai receber o valor do segundo arquivo.
Agora você vai fazer a comparação se o valor da variavelVMaximo é maior que a variávelValoTeste, caso não seja o a variavelVMaximo recebe o valor da variavelValorTeste e assim sucessivamente até o loop terminar, quando sair do loop você saberá qual é o maior valor na variavelVMaximo, ai acrescenta +1 a essa variável e terá a numeração desejada para o novo arquivo.
Aqui tem um exemplo mas não posso ajudar muito pois estou aprendendo.
Na verdade eu gostaria de fazer com Files.exists() mas não esta dando certo. Estava tentando criar com if e else mas não esta dando. Gostaria que acrescentasse +1 no nome do arquivo quando salvasse e tivesse arquivo repetido.
Você também pode gravar o nome do arquivo no bd e quando for salvar o nome do arquivo pega esse nome acrescenta mais 1, este outro nome você salva no bd assim sucessivamente, mas acho isso meio arriscado para seguinte situação:
Já foi criado um arquivo com este nome (fora do sistema).
Renomiar um arquivo com este nome (fora do sistema).
Você tem que ter certeza que será impossível criar um arquivo fora do sistema.