Я прочитал здесь, как разделить данные из строки, и это сработало чудесами ... по большей части.Разделение данных из строки
То, что я пытаюсь сделать, это извлечь данные из файла учетных данных с четырьмя разделами в строке, разделенной пробелами, именем пользователя, хешем MD5, обычным текстовым паролем, окруженным в "и, наконец, ролью. Я начал использовать .split, думая, что это будет то, что мне нужно, но этот третий или [2] элемент иногда имеет пространство в нем, которое мне нужно каким-то образом фильтровать в раскол. Любые идеи?
Пример линия, которая разбивается от credentialLine:
griffin.keyes 108de81c31bf9c622f76876b74e9285f "алфавит суп" Zookeeper
FileInputStream credentialsFile = null;
Scanner inFS = null;
String credFile = ".\\src\\authenticationsystem\\credentials.txt";
System.out.println("\nOpening file credentials.txt");
credentialsFile = new FileInputStream(credFile);
inFS = new Scanner(credentialsFile);
String credentialLine = inFS.nextLine();
System.out.println(credentialLine);
System.out.println("Closing file credentials.txt\n");
credentialsFile.close();
String[] userCreds = credentialLine.split("\\s+");
String userCred = userCreds[0];
String userMD = userCreds[1];
String userPass = userCreds[2];
String userRole = userCreds[3];
Не будьте так быстро на этом. Он не работает, если в текстовом пароле есть ** пробел **. В конце концов, только изредка там есть место. – DevilsHnd
Я получил нижеследующее исключение в потоке «main» java.lang.ArrayIndexOutOfBoundsException: 3 \t at authenticationsystem.AuthenticationSystem.main (AuthenticationSystem.java:48) C: \ Users \ Anna \ AppData \ Local \ NetBeans \ Cache \ 8.2 \ executor-snippets \ run.xml: 53: Java возвращается: 1 BUILD FAILED (общее время: 2 секунды) – Ghostey
@DevilsHnd Вы правы, я не думал об этом. – Titus