从java中读取.txt文件中的数据

时间:2014-03-15 05:04:17

标签: java

我在文件夹conf中有一个.txt文件,其中包含数据

path = "F://Files//Report.txt" 

name="Henry"

status="1"

我想在java中读取此文件的路径,并将该路径存储在Java中的另一个变量中。我怎样才能做到这一点?我是Java的新手。

3 个答案:

答案 0 :(得分:4)

结帐PropertiesProperties.load()方法可以将“key = value”格式的文件加载到键映射中 - >值。

然后,您可以访问theProperties.getProperty("path")等数据。

请注意,如果文件包含双引号,则必须修剪值的前导/尾随双引号。对于您的情况,可能足以简单地删除所有引号,但这取决于您的要求。

示例:加载文件:

Properties p = new Properties();
p.load(new FileInputStream("myfile.txt"));
String path = p.getProperty("path");

示例:删除双引号(path将包含字面上的"F://Files//Report.txt",因为它就是文件中的内容):

path = path.replace("\"", "");

请注意,如果找不到该属性,getProperty()会返回null,因此您需要为此做好准备:

String path = p.getProperty("path");
if (path != null)
    path = path.replace("\"", "");

另请注意,这是一种非常天真的删除双引号的方式(它将无情地删除所有双引号,而不仅仅是开头或结尾的引号),但可能足以满足您的需求。< / p>

答案 1 :(得分:3)

您可以使用属性文件来简化任务:

在项目根文件夹的属性文件中设置值:

Properties prop = new Properties();
OutputStream output = new FileOutputStream("my.properties");
prop.setProperty("path ", "F://Files//Report.txt");
prop.setProperty("name", "Henry");
prop.setProperty("status", "1");
prop.store(output, null);

从属性文件中读取值:

Properties prop = new Properties();
FileInputStream fis = new FileInputStream("my.properties");
prop.load(fis);
String path = prop.getProperty("path");
String name = prop.getProperty("name");
String status = prop.getProperty("status");

<强>更新

如果您只想使用评论中提到的文本文件,可以试试这个:

BufferedReader reader = new BufferedReader(new FileReader("c://test.txt"));
String path="";
String line;

while ((line = reader.readLine()) != null) {
    path = line;
    path = path.substring(path.indexOf("\""));//get the string after the first occurrence of double quote
    path = path.replace("\"", "").trim();//remove double quotes from string
    break;//read only first line to get path
}
System.out.println(path);

输出:

F://Files//Report.txt

答案 2 :(得分:1)

使用java.util.Properties来读取键=值对。您可以参考this

注意:Here是一个很好的教程。