Determinar Extensão de Ficheiros
A classe apresentada pretende fornecer um exemplo de 3 métodos comuns no manuseamento de nomes de ficheiros e de extensões dos mesmo.
import java.io.File;
public class FileUtils {
/**
* Método que, dando um nome de um ficheiro, devolve a extensao em minusculas
* De notar que a extensao de um ficheiro apenas tem significado em alguns
* sistemas operativos, nomeadamente sistemas operativos Windows. Outros
*
* @param filename o nome do ficheiro, absoluto ou nao.
* @return uma String com a extensao do ficheiro convertida para minusculas ou
* uma String vazia caso nao seja encontrada uma extensao.
*/
public static String findExtension(String filename) {
int x = -1;
return ((x = filename.lastIndexOf(".")) > 0 ? filename.substring(x + 1) : "").toLowerCase();
}
/**
* Método de conveniência que usa uma instância de java.io.File.
*
* @param file ficheiro para o qual se pretende obter a extensão.
* @return uma String com a extensão do ficheiro convertida para minúsculas ou
* uma String vazia caso não seja encontrada uma extensão.
*/
public static String findExtension(File file) {
return FileUtils.findExtension(file.getName());
}
/**
* Remove a extensao de um nome de ficheiro.
*
* @param filename o nome a ler, absoluto ou nao.
* @return uma String construida atraves da remocao do texto apos o ultimo
* ponto, '.', e do proprio ponto ou o nome inalterado caso nao seja encontrada
* uma extensao
*/
public static String stripFileExtension(String filename) {
int x = -1;
return (x = filename.lastIndexOf(".")) > 0 && x < filename.length() - 1 ? filename.substring(0, x) : filename;
}
}