2013-07-29 2 views
0

Я создаю Java-приложение.Как я могу указать путь к каталогу в Java-приложении

Я написал 1 функцию в своем классе с 2 аргументами. Если вы передаете путь к каталогу (где сохраняются файлы .txt) и filetype в качестве аргументов этой функции. Он возвращает все имена файлов, файлы которых имеют указанное расширение файла.

public List<File> ListOfFileNames(String directoryPath,String fileType) 
{ 
    //Creating Object for File class 
    File fileObject=new File(directoryPath); 
    //Fetching all the FileNames under given Path 
    File[] listOfFiles=fileObject.listFiles(); 
    //Creating another Array for saving fileNames, which are satisfying as far our requirements 
    List<File> fileNames = new ArrayList<File>(); 
    for (int fileIndex = 0; fileIndex < listOfFiles.length; fileIndex++) 
    { 
     if (listOfFiles[fileIndex].isFile()) 
     { 
      //True condition,Array Index value is File 
      if (listOfFiles[fileIndex].getName().endsWith(fileType)) 
      { 
       //System.out.println(listOfFiles[fileIndex].getName()); 
       fileNames .add(listOfFiles[fileIndex]); 
      } 
     } 
    } 
    return fileNames; 
} 

Я проверил эту функцию следующими двумя способами.

Случай 1:

Я создал имя папки, InputFiles на моем рабочем столе и поместил .txt файлы в папке InputFiles.

Я передаю directoryPath и .txt в качестве аргументов моей функции следующим образом. Он работает нормально.

classNameObject.Integration("C:/Documents and Settings/mahesh/Desktop/InputFiles",".txt"); 

Случай 2:

Теперь я поместил мою папку InputFiles под src папку и передать directoryPath в качестве аргумента в следующих way.it не работает.

classNameObject.Integration("/InputFiles",".txt"); 

Почему я пытаюсь случай 2, если я хочу работать на той же заявки в другой системе, каждый раз, когда мне не нужно менять directorypath.

При развертывании также case 2 очень полезен, потому что мы не знаем, где мы будем разворачивать Application.so. Пробовал case 2, он не работает.

Это работает, когда я упоминаю абсолютный путь. Если я упоминаю realPath, это не работает.

Как это исправить.

вы не можете объяснить.

Я надеюсь, вы понимаете, почему я пытаюсь случай 2.

Спасибо.

+0

[Проверить это] (http://stackoverflow.com/q/2308188/1679863) –

+0

@ Все, что изменил мой вопрос. Вы можете проверить его один раз –

ответ

0

хорошо, вы всегда можете использовать класс свойств пользователя. Просто установите путь в файле свойств и получите это свойство по имени в своем классе. Кроме того, если вы когда-либо почувствуете, что вам нужно изменить путь, упомянутый в файле свойств, он будет перезагружен, как только вы вносите изменения в него.

+0

Я новичок в технологии 'Java', где я получу' Файл свойства'. вы можете объяснить шаг за шагом. –

+0

chk эта ссылка: - http://www.mkyong.com/java/java-properties-file-examples/ – streak

+0

Я изменил свой вопрос. Вы можете проверить его один раз. –

Смежные вопросы