0

私はJavaアプリケーションを開発しています。次のようなtxtファイルがあります。

Component(Journal, Account, AnalysisCodes...):
Journal
*****
Method(Query, Import, CreateOrAmend...):
Import
*****
Username:
PKP
*****
Password:
test
*****
Host:
localhost
*****
Port:
8080
*****
Program's path:
C:/Connect Manager/
*****
XML Name:
ledger.xml
*****

この Java プログラムは、このファイルに何も書き込まず、読み取るだけです。ただし、このtxtファイルをどこに保存するかわかりませんでした。内部でハードコーディングされているため、パスはすべてのユーザーで同じでなければなりません。プログラムのパスがわからない場合、プログラムのパスを読み取ることができません。

これが私のコードです:

String lineconfig="";
String pathconfig= "C:/Connect Manager/" + "config.txt";
BufferedReader readerconfig= new BufferedReader(new FileReader(pathconfig));
while((lineconfig=readerconfig.readLine())!=null)
{
    stringList.add(lineconfig);
}
readerconfig.close();

ご覧のとおり、pathconfigの正確な場所が必要です。

問題に混乱を引き起こした場合は申し訳ありません。ご提案いただければ幸いです。

それに加えて、別のプログラムがこれまたはユーザーを編集できる必要があります。このプログラムをjarにします。

4

3 に答える 3

4

プロパティを使用すると、それらをresフォルダーに配置できます。詳細については、この例を確認してください。

public class App 
{
    public static void main( String[] args )
    {
        Properties prop = new Properties();

        try {
          //load a properties file from class path, inside static method
          prop.load(App.class.getClassLoader().getResourceAsStream("config.properties");));

          //get the property value and print it out
          System.out.println(prop.getProperty("database"));
          System.out.println(prop.getProperty("dbuser"));
          System.out.println(prop.getProperty("dbpassword"));

        } catch (IOException ex) {
            ex.printStackTrace();
        }

    }
}

フォルダーはプロジェクトのres一部であるため、(どういうわけか) 常に同じ場所にあります。

于 2013-08-23T12:26:52.413 に答える
0

Java Preferences API を確認することをお勧めします。

http://docs.oracle.com/javase/7/docs/api/java/util/prefs/Preferences.html

于 2013-08-23T12:52:46.267 に答える