如何在java中读写特定的东西

时间:2015-08-11 06:44:44

标签: java file

我来自C,所以使用java中的文件对我来说有点棘手。

我想要以下文件:

a = 3 b = 5 c = 1 d = 10

我希望能够在需要a,b,c,d的值时阅读,并且还能够更改其中某些值的值。

我尝试了一些事情,但我甚至都没有接近。有人可以帮忙吗?

4 个答案:

答案 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();
        }
    }
}