2016-03-01 12 views
0

Это основная схема программы у меня есть:Как запустить программу от многих аргументов как файлы из папки

public class myClass { 

    public void run(String[] args) throws Exception { 
     // do something with the file 
    } 

    public static void main(String[] args) throws Exception { 
     new myClass().run(args); 
    } 
} 

Аргументы я установить в затмения расположения файлов на моем диске, и в то время как я может дублировать конфигурации запуска и добавлять каждый файл, который я хочу запустить, это не очень эффективный метод, если у меня есть сотни файлов, и даже меньше, если файлы регулярно меняются. В идеале я хотел бы указать папку и запустить мою программу для каждого файла в папке с определенным расширением, например «.txt». Возможно ли это в eclipse или мне нужно написать сценарий для достижения этого или чего-то еще? Если необходим скрипт, некоторые советы о том, как можно было бы оценить, поскольку я не очень разбираюсь в написании сценариев.

+0

Вы не говорите, что цель вашей программы. Начните с этого ... – fge

+0

Да, вы можете получить имена файлов в определенном каталоге в вашем Java-коде. См. Https://docs.oracle.com/javase/tutorial/essential/io/dirs.html#listdir –

+0

Создайте файл [FileVisitor] (https://docs.oracle.com/javase/7/docs/api/java /nio/file/FileVisitor.html) и пройдите через файлы в каталоге, а затем проверьте на расширение. Посмотрите на [Java IO API] (https://docs.oracle.com/javase/7/docs/api/java/io/package-summary.html) – callyalater

ответ

0

Вы могли бы сделать что-то вроде этого:

public class myClass implements FileFilter { 

     public void run(File[] files) throws Exception { 
      // do something with the file 
     } 

     public static void main(String[] args) throws Exception { 
      File folder = new File(folderPathString); 
      new myClass().run(folder.listFiles(new myClass())); 
     } 

     public boolean accept(File pathname) { 
      return pathname.getName().endsWith(".txt"); 
     } 
    }