我在文件夹conf中有一个.txt文件,其中包含数据
path = "F://Files//Report.txt"
name="Henry"
status="1"
我想在java中读取此文件的路径,并将该路径存储在Java中的另一个变量中。我怎样才能做到这一点?我是Java的新手。
答案 0 :(得分:4)
结帐Properties
。 Properties.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)