2011-06-24 3 views
0

これらのプロパティは私を夢中にし続けます。私の場合には、それが動作doestけどプロパティは私を狂って運転し続ける。それを保存できません! "FileNotFound"

Properties p = new Properties(); 
p.load(new FileInputStream("filename.properties"); 

を:私もプロパティをロードするだけで使用して問題はないはずという、どこにでも読んでいます。 Javaはファイルを見つけられません。これはクラスディレクトリにあります。私はAssetmanagerでそれを使用しなければならなかった理由厥:

String defaultProfileProperties = "filename.properties"; 
Resources resources = this.getResources(); 
AssetManager assetManager = resources.getAssets(); 
final Properties properties = new Properties(); 

try { 
    InputStream inputStream = assetManager.open(defaultProfileProperties); 
    properties.load(inputStream); 
} catch (IOException e) { 
    System.err.println("Failed to open " + defaultProfileProperties + " property file"); 
    e.printStackTrace(); 
} 

は資産フォルダにfilename.propertiesを置きます。

私は単純に.store(out、comment)を使ってプロパティファイルを保存できません... "filename.properties"または "assets"に設定されたパスでFileOutputStreamを使用しようとしましたが、 /ファイル名。どちらも働いていませんでした。私もここにスラッシュを追加しましたが、何も助けてくれません!私はWeb上でチュートリアルを見つけることはありませんし、pplも同じ問題を抱えていません!

私を助けてください。これは簡単なことだと思いますが、私は手がかりを得ていません。

答えて

1

FileInputStreamでファイルを開くと、開始ディレクトリ(相対パス)は作業ディレクトリに基づいていますあなたはクラスパスではなく、Javaを起動しました。リソースを含むファイルを開くと、クラスパスエントリが参照されます。

FileInputStream()を使用するときにフルパスを使用してみましたか?それを試して、動作しているかどうか確認してください。そうであれば、起動時に作業ディレクトリを設定するか、または開始ディレクトリから相対パスでファイルを参照する必要があります。

0

これを試してみてください:

InputStream in = this.getClass().getResourceAsStream("filename.properties"); 
    Properties p = new Properties(); 
    p.load(in); 
関連する問題