Вам нужно будет открыть файл и перебрать каждую строку с помощью readLine (), пока не дойдете до конца файла.
- Я предполагал, что вы выполняете последовательность при прохождении файла. Если вы хотите сохранить информацию и использовать ее позже, я хотел бы рассмотреть возможность использования какой-либо структуры данных.
Когда вы обойдете это, вы можете проверить строку с помощью простого регулярного выражения, чтобы проверить, является ли оно именем метки. Если нет, разбейте строку на основе '' (пробела), и он вернется к вам в массиве. Затем проверьте размер на основе постоянного размера.
Базовый псевдокод:
int consistentSize = 5; // assume you have a size in mind
while ( (line = readLine()) != EOF)
{
// check for if label, if it's a simple name, you won't really need a regex
if (line == label)
{
// not sure if you want to do any consistency checking in here
} else {
String[] currLine = line.split(' ');
bool consist = true;
// now loop through currLine and do a check if each character is a number
for (int i = 0; i < currLine.size(); i++)
{
// can't remember java function for this (isNum() I think)
if (!currLine[i].isNum) { consist = false; break; }
}
// if got past this, the row has all numbers, therefore it is ok
// could easily add another array to keep track of rows that didn't have valid numbers and suhc
if (currLine.size() < consistentSize) System.out.println("row "+j + " is inconsistent");
}
}
Вы также можете добавить еще один цикл, если вы не знаете ожидаемый размер для каждой строки, добавьте логику, чтобы найти наиболее распространенный размер, а затем выясните, что не соответствует. Я не уверен, насколько сложной должна быть ваша проверка согласованности.