我来自C,所以使用java中的文件对我来说有点棘手。
我想要以下文件:
a = 3 b = 5 c = 1 d = 10
我希望能够在需要a,b,c,d的值时阅读,并且还能够更改其中某些值的值。
我尝试了一些事情,但我甚至都没有接近。有人可以帮忙吗?
答案 0 :(得分:1)
如果您能够逐行更改值的格式,可以查看Java中的Properties。在这里,您可以使用键和值之间的分隔符逐行定义键值对。
答案 1 :(得分:1)
加载示例代码和属性使用
import java.io. ; import java.util。;
public class ReadLineExample {
B.i
}
- data.txt的格式
a = 3
b = 5
c = 1
d = 10
输出:
属性:{b = 5,a = 3,d = 10,c = 1} 得到A:3
答案 2 :(得分:0)
这是一个非常" NullPointer-ish"完成此任务的方法,但这是一个示例
String[] list = fileContents.split("=");
String[] temp = list[1].split(" ");
a = temp[0]
temp = list[1].split(" ");
b = temp[0]
temp = list[2].split(" ");
c = temp[0]
temp = list[3].split(" ");
d = temp[0]
这种方式也不是很灵活。如果我是你,我会看Properties课。它使这项工作变得更容易。
您还可以编写一个解析文本的函数,并找到" ="之间的值。标志和" " (但是你必须删除" ="和价值之间的"")
答案 3 :(得分:0)
由于不建议使用“属性”,因此我更倾向于使用首选项。
if(flag == 0){
// Call it as myFunc()
myFunc();
}
data.xml采用以下格式
package com.mypack.test;
import java.io.*;
import java.util.*;
import java.util.prefs.Preferences;
public class PreferencesExample {
public static void main(String args[]) throws FileNotFoundException {
Preferences ps = Preferences.userNodeForPackage(PreferencesExample.class);
// Load file object
File fileObj = new File("data.xml");
try {
FileInputStream fis = new FileInputStream(fileObj);
ps.importPreferences(fis);
System.out.println("Prefereces:"+ps);
System.out.println("Get property1:"+ps.getInt("property1",10));
} catch (Exception err) {
err.printStackTrace();
}
}
}