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();
}
}