ora. io sono arrugginito, ma che ha questo codice che non va? Mi ritorna l'errore in oggetto
questo è il contenuto del file SplitPdf.java
codice:
import java.io.*;

import java.util.regex.Pattern;
import java.util.regex.Matcher;

import java.util.*;

public class SplitPdf {
   public static void main(String[] args){
      String [] files;
      File theFolder;
      if(args.length != 1){
         System.err.println("Usage: java SplitPdf pdfsFolderPath");
         return;
      }
      theFolder=new File(args[0]);
      if(theFolder.isDirectory()){
         files=theFolder.list(new Filter(theFolder.getParent(),".pdf"));
         for(int i=0;i<files.length;i++){
            System.out.println(files[i]);
         }
      }else{
         System.err.println(args[0]+" non è una cartella");
      }
   }
}

// I found this class here http://www.ioprogrammo.it/tipstricks...-t14148.0.html
class Filter implements FilenameFilter {
    //estensione del file
    private String tipo, nome;
    public Filter(String nome, String tipo) {
        this.nome = nome;
    this.tipo = tipo; }
    //accettiamo tutti i file con estensione s e le directory che non siano
    //nascoste
    public boolean accept(File dir, String file) {
        File f = new File(dir, file);
        //controllo sul tipo.
        //Ad esempio se cerco "pippo.txt" la indexOf(.txt) è uguale a 6
        // ed è uguale a 10("pippo.txt".length()) - 4 (".txt".length)
        boolean flag1=true;
        if(tipo!=null && tipo!="")
        flag1=(file.indexOf(tipo) == file.length()-tipo.length());
        //controllo sul nome
        //flag2 è true se il file contiene la parola cercata
        boolean flag2=true;
        if(nome!=null && nome!="")
        flag2=file.toUpperCase().indexOf(nome.toUpperCase())!=-1;
        //ritorno i file che passano il controllo del tipo e del nome le directory
        return ( ( flag1 && flag2 ) || f.isDirectory()) && !f.isHidden();
    }
}