I got down what to do to get the names and whatnot, but when I run the program all the files go into the 'other' folder. Also the prompt spits out this:
J:\>cd J:\organizer
J:\Organizer>javac Organizer.java
J:\Organizer>java Organizer
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException:
11
at Organizer$beginListener.actionPerformed(Organizer.java:83)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
public class beginListener implements ActionListener {
public void actionPerformed(ActionEvent a) {
String dir = enterDirectory.getText();
File directory = new File(dir);
File[] files = directory.listFiles();
if( audio.isSelected()){
new File(dir + "/Audio").mkdir();
}
if( video.isSelected()){
new File(dir + "/Video").mkdir();
}
if( pictures.isSelected()){
new File(dir + "/Pictures").mkdir();
}
if( documents.isSelected()){
new File(dir + "/Documents").mkdir();
}
if( application.isSelected()){
new File(dir + "/Applications").mkdir();
}
if( other.isSelected()){
new File(dir + "/Other").mkdir();
}
for(int i = 0; i <= files.length; i++) {
String d = files[i].getName();
String choppedFilename;
String extension;
int dotPlace = d.lastIndexOf('.');
if(dotPlace >= 0){
choppedFilename = d.substring(0, dotPlace);
extension = d.substring(dotPlace + 1);
} else {
choppedFilename = d;
extension = "";
}
if(extension == "aac" || extension................................................ extension == "midi"){
if(audio.isSelected()) {
files[i].renameTo(new File(dir + "/Audio", d));
}
}
else if(extension == "doc" || extension == "docx" || extension == "log" || extensi..................... || extension == "part" || extension == "py"){
if(documents.isSelected()){
files[i].renameTo(new File(dir + "/Documents", d));
}
}
else if(extension == "app" || extension == "bat" || extension == "cgi" || exten........................ension == "rom" || extension == "sav"){
if(application.isSelected()){
files[i].renameTo(new File(dir + "/Applications", d));
}
}
else if(extension == "bmp" || extension == "gif" || extension == "jpg" || extensio.......................extension == "icb" || extension == "vst" || extension == "tiff"){
if(pictures.isSelected()){
files[i].renameTo(new File(dir + "/Pictures", d));
}
}
else if(extension == "3g2" || extension == "3gp" || extension == "asf" || ext.........................== "xvid"){
if(video.isSelected()){
files[i].renameTo(new File(dir + "/Video", d));
}
}
else {
if(other.isSelected()){
files[i].renameTo(new File(dir + "/Other", d));
}
}
}
}
Where is the problem in the processing of file extensions that causes this? The dots represent great amounts of file extensions