, так что в последнее время у меня были проблемы с использованием нескольких разделителей в FileScanner. Я хотел бы сделать так, чтобы первые строки в моем файле разделялись запятыми, но перед тем, как перейти к следующей строке, нет запятой, только пробел. Это создает проблемы с назначением значений моим массивам.Как изменить разделитель файлаScan во время выполнения?
public class FileScan
{
public static void main(String[] args) throws IOException
{
String[] firstName = new String[50];
String[] lastName = new String[50];
String[] number = new String[50];
Scanner fileScan = new Scanner(new File("phonebook.txt");
fileScan.useDelimiter(",");
for(int i = 0; fileScan.hasNext(); i++)
{
firstName[i] = new firstName[fileScan.next];
lastName[i] = new lastName[fileScan.next];
number[i] = new number[fileScan.next];
System.out.println(firstName[i] +"\t"+ lastName[i] +"\t"+ number[i]);
}
Поскольку файл выглядит примерно так:
John, AppleSeed, 800-555-9000
Jack, Torrance, 450-555-3000
Elizabeth, MacDonald, 304-555-3042
Я хочу, чтобы иметь возможность переключить разделитель во время выполнения, чтобы не привести к ошибкам. Однако если я это сделать:
fileScan.useDelimiter(",");
firstName[i] = new firstName[fileScan.next];
lastName[i] = new lastName[fileScan.next];
fileScan.useDelimiter(" ");
number[i] = new number[fileScan.next];
я все еще получаю errors.The только другая возможность, я мог думать только о том, чтобы просто использовать по умолчанию и попытаться вынуть запятые после. Есть лучший способ сделать это?
Какой тип вы получаете? – BlackVegetable
@BlackVegetable Прямо сейчас у меня нет прямого доступа к компьютеру, чем я могу запустить его, но я считаю, что это было InputMisMatchException. –