在findWithinHorizo​​n方法中使用模式

时间:2013-09-09 15:19:17

标签: java file-io methods pattern-matching java.util.scanner

我如何告诉方法搜索65个浮点(或双值)的模式,所有这些都在文本文件的一行中,使用文件读取器读取,然后使用缓冲读取器读取扫描器。

这样的方法:

findWithinHorizon(Pattern pattern, int Horizon);

返回该行中的所有65个浮点值?

(findWithinHorizo​​n是Java.util.Scanner类的一个方法,如果有帮助的话)

1 个答案:

答案 0 :(得分:0)

您不需要使用findWithinHorizon()方法,也不需要使用正则表达式。您可以使用Scanner类中的简单方法和一些循环来完成此操作。首先,创建一个新的Scanner,其源代码是要读取的行: <击>

<击>
Scanner file = new Scanner("myFile.txt");
for(int i = 1; i < lineNumberToRead; ++i)
    file.nextLine();
Scanner line = new Scanner(file.nextLine());

<击> 然后,创建数组并从line获取值:

double[] array = new double[65];
for(int j = 0; j < array.length && line.hasNextDouble(); ++j)
    array[j] = line.nextDouble();

编辑:由于您说有一个令牌,其中65位小数开始,请使用以下代码示例替换此答案中的第一个代码示例:

Scanner file = new Scanner("myFile.txt");
file.useDelimiter(tokenBeforeDecimals);
file.next();
Scanner line = new Scanner(file.nextLine());