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的确切位置。

抱歉,如果我引起了任何混淆。我会很感激你的建议。

除此之外:另一个程序应该能够编辑这个或用户。我会把这个程序做成一个罐子。

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 回答
4

我建议您使用属性文件。更好地阅读并且用户更容易配置属性。查看这个简短的教程以了解该.properties文件的说明。要在文件中读取和写入值,请遵循这个简短的教程

您是否尝试过使用

path = "config.txt"

如果您使用这种语法,您应该在与 jar 相同的目录中获取文件。请记住,您可以使用快捷键“..”和“.”。去一个目录。

随着..你去上面的目录。

随着.你得到你的实际目录。

于 2013-08-23T12:27:55.413 回答
0

我建议您查看 Java Preferences API:

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

于 2013-08-23T12:52:46.267 回答