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としてハードコーディングする と、動作します。

しかし、jarを使用すると問題が発生します。使ってみた

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

また、パスが認識されないと表示されます。

4

1 に答える 1

1

静的な値(パス)で新しいファイル(....)を使用するIMHOは、ファイルにアクセスする正しい方法ではありません

このコードをIDE、サーバー、およびさまざまな環境で機能させる場合、ファイルのパスは次のようになります。

構成可能で、絶対パス(Windows環境ではC:/など)

または、クラスパスで

于 2012-04-18T09:41:05.813 に答える