2012-04-18 2 views
0
public boolean WriteProperty(String key,String value){ 
      try{ 
        int check=0; 
        while(check == 0){ 
       check=1; 

       Properties pro = new Properties(); 

       File f = new File("/properties/IxFbConfiguration.properties"); 
       if(!f.exists()){ 
        check=0; 
        System.out.println("File not found!"); 
       } 
       else{ 
        FileInputStream in = new FileInputStream(f); 
        pro.load(in); 
        System.out.print("Enter Key : "); 
        System.out.print("Enter Value : "); 
        pro.setProperty(key, value); 

        System.out.println("the property is"+pro.getProperty(key)); 
       // pro.store(new FileOutputStream(str + ".properties"),null); 
        pro.store(new FileOutputStream("/properties/IxFbConfiguration.properties"),null); 
        System.out.println("Operation completly successfuly!"); 
       } 
       } 
      } 
      catch(IOException e){ 
      System.out.println(e.getMessage()); 
      } 
      return false; 
      } 

При запуске этого кода я получаю исключение из файла не найденным.Файл не найден исключение при чтении файла свойства

У меня есть свойства папки, которые содержат файл IxFbConfiguration.properties. Когда я жестко задаю полный путь как C: \ Documents and Settings \ meenakshib.DCKAP-066 \ Desktop \ xblitzjApril18 \ properties \ IxFbConfiguration.properties он работает.

Но у меня есть проблема, когда я использую банку. Я попытался с помощью

getClass().getResourceAsStream("/properties/IxFbConfiguration.properties") 

также, но он говорит, что путь не признается.

+1

Пожалуйста укажите информацию о местоположении вашего файла свойств и java-файла с вашего компьютера в вопросе. Например: C: /properties/IxFbConfiguration.properties. – sgowd

+0

Можете ли вы выполнить 'ls/properties/IxFbConfiguration.properties' или' dir c: \ properties \ IxFbConfiguration.properties'? –

+0

C: \\ Documents and Settings \\ meenakshib.DCKAP-066 \\ Desktop \\ xblitzjApril18 \\ properties \\ IxFbConfiguration.properties ЭТО ЯВЛЯЕТСЯ ФИЛЕПАТОРОМ – Meenakshi

ответ

1

используя новый файл (....) с статическими значениями (пути), ИМХО, это не правильный путь доступа к файлу

Если вы хотите, чтобы этот код работал на вашем IDE, и на вашем сервер, и для различных сред, путь к файлу должен быть:

либо настраиваемый, и абсолютный путь (C:/и т.д. на окр окна.)

или в пути к классам

+0

Но мне нужна помощь после getClass(). GetResourceAsStream ("/ properties/IxFbConfiguration .properties ") не распознается как путь, когда я использую файл jar – Meenakshi

+0

Перечитав ваш вопрос, я понимаю, что вы хотите записать этот файл, поэтому решение classpath не будет работать для вас. Таким образом, вы можете иметь настраиваемый путь для файлов, которые необходимы вашему приложению (но для этого нам нужна дополнительная информация, используете ли вы весну или это простой проект tomcat ...?) –

+0

Это просто проект Java - Я не использую никаких фреймворков. – Meenakshi

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