【发布时间】:2014-08-31 10:28:30
【问题描述】:
例如,文本文件中的一行是:Richard,RL#17
我在一个while循环中拆分数据,我可以成功得到两条独立的信息。
现在我该怎么做才能进一步拆分字段 [0] - 字符串 - 以便我可以将“Richard”和“RL”分开。我必须再次拆分,这次是“,”。
File inputFile = new File ("Personnel.txt");
FileReader in = new FileReader (inputFile);
BufferedReader inFromFile = new BufferedReader (in);
String line = inFromFile.readLine ();
int cnt = 0;
while (line != null)
{
String [] field = line.split ("#");
int age = Integer.parseInt (field [1]);
workers [cnt] = new Personnel (field [0], age);
cnt++;
line = inFromFile.readLine();
}
inFromFile.close();
for (int i = 0; i < cnt; i ++)
{
System.out.println ();
System.out.println (workers [i]);
}
所以我可以使用配对对象类成功读取数据并显示它。现在,我想知道我会进一步将具有“Richard,RL#17”的名字分成两个独立的过去。可以再用split方法吗,如果可以,怎么用?
我已尝试构建另一个 while 循环,但我不确定如何引用字段 [0] - 在本例中为文本文件中的名称 - 并从那里拆分它。我尝试做另一个程序,但没有成功。另一个程序如下:
File inputFile = new File ("placeHolder.txt");
FileReader inFile = new FileReader (inputFile);
placeHolder[] lotsOfText = new placeHolder[10];
int cnt = 0;
for(int i = 0; i < lotsOfText.length; i++)
{
String line = inFile.readLine();
while(line != null)
{
String[] field = line.split(",");
field = line.split("#");
lotsOfText[cnt] = new placeHolder(field[0],field[1],field[2],field[3]);
cnt++;
}
}
System.out.println(field[0] + " " + field[1] + " " + field[2] + " " + field[3]);
}
【问题讨论】:
-
嗨,理查德。首先,我们在 Stack Overflow 上并没有真正做“紧急”;问题和答案有望在多年内提供有用的信息,很可能在参与交流的人早已离开该网站很久之后。其次,我们希望提问者描述他们尝试过的内容以及结果与预期行为有何不同。请edit在您的问题中包含此类信息。
-
请添加您的代码,以便我们(希望)了解您对
field[0]的含义以及“两个单独的部分”是什么意思。目前,很难猜测您已经拥有什么。 -
抱歉,我会进行推荐的修改。这是我关于堆栈溢出的第一个问题,所以我对规则和规定还是很陌生。
-
我们都是初学者。拨打Tour,然后查看Help Center,以更深入地了解该网站的运作方式以及我们对用户的期望。最重要的可能是要记住帖子通常应该是独立的(补充信息的外部参考很好,但不应该要求他们理解帖子),并且投票是关于帖子的,而不是关于你的。
-
这个问题现在好多了,但我仍然觉得它缺少对您为自己解决问题而尝试做的事情的解释。
标签: java split filereader