说我有一个.txt文件,该文件的信息由逗号分隔,例如:
IN,Indiana,6634007
这是一个访问该文件并将其分割的代码段:
for(int i=0; i < count; i++) {
line = bufferedReader2.readLine();
String space[] = line.split(",");
String abb = space[0];
String nme = space[1];
int pop = Integer.parseInt(space[2]);
states[i] = new State(abb, nme, pop);
}
这样做的目的是可以访问txt文件中的所有信息,例如,此代码将完全打印.txt文件中显示的内容:
System.out.println(states[0]);
将打印:
IN,Indiana,6634007
我的问题是,我将如何拥有它以便可以访问数组的特定部分,就像我将如何打印,让我们只说名称“ Indiana”或人口“ 6634007”一样?
P.S对不起,如果我的问题的标题没有意义,我不知道该怎么写。
答案 0 :(得分:3)
在某个地方,您有一个名为State
的类。 states
是此类的数组。因此,您可以将吸气剂添加到State
:
public int getPop() {
return pop;
}
像这样在您的对象上调用它:
System.out.println(states[0].getPop());
states[0]
只是一个State
对象。
添加更多的吸气剂以访问不同的字段。
答案 1 :(得分:0)
根据您的问题,我可以理解的是,您正在使用 State 类来存储信息。在这种情况下,请检查存储第一个参数值的 state 类。稍后要打印相应的信息,请访问SapuSeven提到的对象变量。
例如
public class State{
public String a;
public String b;
public int c;
public State(String x, String y, int z){
a=x;
b=y;
c=z;
}
}
现在您可以像
一样访问System.out.println(states[0].b);
用于打印城市名称
OR
您可以像这样简单地使用索引打印值
System.out.println(states[0].split(",")[2]);
答案 2 :(得分:0)
如果您只想打印每一行,可以尝试如下操作:
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new FileReader("data.txt"));
String line = null;
List<String> list = new ArrayList<String>();
while((line = reader.readLine()) != null ) {
list.add(line);
}
System.out.println(list.get(0));
// TODO realease resources
}