Error ArrayIndexOutOfBoundsException JFILECHOOSER
Publicado por Isaac (1 intervención) el 03/11/2019 07:57:45
Hola que tal a todos, tengo un error soy nuevo en esto pero quise experimentar creando una aplicación sencilla (o eso creí), la cosa esta en que use un array para recolectar todos los archivos obtenidos por un JFileChooser, ahora cuando trato de seleccionar dos, estos funcionan de maravilla, son archivos de audio, pero cuando selecciono solo uno la consola me tirar el error "ArrayIndexOutOfBoundsException", entiendo que es que estoy llamando a un archivo que no se encuentra, la cosa es que quiero poder seleccionar de uno a dos archivos máximo sin que ocurra este problema, les dejo mi codigo.
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
43
44
45
46
47
package pruebaaudiowav;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import sun.audio.*;
import java.io.*;
import java.util.ArrayList;
import javax.swing.filechooser.FileNameExtensionFilter;
public class PRUEBA2 {
public static void main(String[] args) throws FileNotFoundException, IOException {
//archivos de entrada inicializando vacios
FileInputStream direccion = null;
FileInputStream direccion2 = null;
//creo el buscador
JFileChooser buscador = new JFileChooser();
FileNameExtensionFilter filtro = new FileNameExtensionFilter("WAV FILES", "wav");
buscador.setFileFilter(filtro);
buscador.setMultiSelectionEnabled(true);
buscador.setDialogTitle("Importar archivos");
if (buscador.showOpenDialog(buscador) == JFileChooser.APPROVE_OPTION) {
File[] file = buscador.getSelectedFiles();
direccion = new FileInputStream(file[0].getAbsolutePath());
direccion2 = new FileInputStream(file[1].getAbsolutePath());
//iniciando audios
AudioStream audio = new AudioStream(direccion);
AudioStream audio2 = new AudioStream(direccion2);
//reproduciendo audios
AudioPlayer.player.start(audio);
AudioPlayer.player.start(audio2);
JOptionPane.showMessageDialog(null, "Reproduciendo");
} else {
JOptionPane.showMessageDialog(null, "Ningun archivo WAV fue seleccionado");
}
}
}
Valora esta pregunta


0