【发布时间】:2014-11-12 03:06:12
【问题描述】:
我正在尝试编写一个小型 Java 应用程序,它的部分工作是读取、写入和解析文本文件中的行。不过,我的问题是从文本文件中取出一行,读取它,然后将其分成几部分。例如,示例行是:
Tuesday, 11/11/14 10:30:32: 3.93
我希望我的程序能够查看并填写例如 string day = "tuesday" 和 value = 3.93。
FileReader fileReader = new FileReader(itemValue);
BufferedReader bufferedReader = new BufferedReader(fileReader);
StringBuffer stringBuffer = new StringBuffer();
String line;
while ((line = bufferedReader.readLine()) != null) {
stringBuffer.append(line + "\n");
int[] value;
}
fileReader.close();
System.out.println("Contents of file:");
System.out.println(stringBuffer.toString());
这是我目前拥有的代码 - 它将解析我的文件并逐行打印到控制台中,但我真的不知道如何实际处理该行。我尝试使用 bufferedReader.readLine 作为包含该行的变量,但这似乎不是答案。我对 Java 非常陌生,这是我编程中的一大障碍,所以如果有人能指出我的解决方案,那就太棒了。提前致谢! :)
编辑:我所有的数据看起来都一模一样,这是其余的。
Tuesday, 11/11/14 10:29:23: 4.48
Tuesday, 11/11/14 10:29:27: 5.0
Tuesday, 11/11/14 10:29:39: 5.95
Tuesday, 11/11/14 10:29:46: 6.0
Tuesday, 11/11/14 18:07:25: 4.0
Tuesday, 11/11/14 18:07:27: 4.5
Tuesday, 11/11/14 18:07:33: 5.0
Tuesday, 11/11/14 18:07:39: 5.9
Tuesday, 11/11/14 18:07:51: 20.0
【问题讨论】:
-
有大量可能的答案,这取决于你的测试数据是什么样的以及它有多一致。请向我们展示您的测试数据的一个小例子(多于一行)。
-
我添加了更多数据 - 格式完全相同。说到格式,我也是这个网站的新手,显然我弄坏了一些东西——它们并不都在同一行,每一天/日期/时间/双精度都应该在自己的行上。
-
没关系 - 我已经修好了。
-
目前还不清楚您要完成什么。请为提供的输入提供所需输出的示例。另外,为什么值被初始化,然后从未使用过。我假设这只是您在遇到此障碍之前停下来的地方,但是有关您想在那里做什么的更多背景信息将有助于我们提供帮助。
-
使用
line.split("\\s+")。这里\\s+是“1 个或多个空白字符”的模式