Código de Java - Devolver los archivos que tienen una extensión dada

Versión 1.0

Publicado el 25 de Julio del 2016gráfica de visualizaciones de la versión: Versión 1.0
1.879 visualizaciones desde el 25 de Julio del 2016
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import java.util.Arrays;
import java.util.Comparator;
 
public class FileExt{
 
	public static void main(String[] args){
		String[] tests = {"text.txt", "text.TXT", "test.tar.gz", "test/test2.exe", "test\\test2.exe", "test2", "a/b/c\\d/foo", "/test/test3.bat","c:\\test\\test3.bat"};
		String[] exts = {".txt",".gz",".bat"};
 
		System.out.println("Extensiones: " + Arrays.toString(exts) + "\n");
 
		for(String test:tests){
			System.out.println(test +": " + extIsIn(test, exts));
		}
	}
 
	public static boolean extIsIn(String test, String... exts){
		// buscamos la posicion de la barra (/) o de las dobrles barras (\\)
		int lastSlash = Math.max(test.lastIndexOf('/'), test.lastIndexOf('\\'));
 
		// obtenemos el ultimo valor despues de la barra
		String filename = test.substring(lastSlash + 1);
 
		// buscamos el ultimo punto en la cadena si lo hubiera, sino, devolvemos la posicion final
		int lastDot = filename.lastIndexOf('.') == -1 ? filename.length() : filename.lastIndexOf('.');
 
		// obtenemos la extension
		String ext = filename.substring(lastDot);
 
		// Ordenamos el array de extensiones
		Arrays.sort(exts);
 
		// utilizamos el método de búsqueda binaria
		// devolvera un numero negativo si no lo encuentra
		return Arrays.binarySearch(exts, ext, new Comparator<String>() {
			@Override
			public int compare(String o1, String o2) {
				return o1.compareToIgnoreCase(o2);
			}
		}) >= 0;
	}
}



Comentarios sobre la versión: Versión 1.0 (0)


No hay comentarios
 

Comentar la versión: Versión 1.0

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s3608