Код считывает, но не работает со строчкой

101
01 февраля 2021, 05:00
package main;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class getEncrypt {
public String getEncryptMethod(String in){
    String fileName = "lib.txt";
    String str;
    String[] phasa1;
    String[] phasa2;
    String cryptedNames = "Ошибка";
    try {
        Scanner sc = new Scanner(new File(fileName));
        while (sc.hasNext()) {
            str = sc.nextLine();
            phasa1 = str.split("=");
            phasa2 = phasa1[0].split(",");
            for (String i : phasa2) {
                if (i.equalsIgnoreCase(in)){
                    cryptedNames = phasa1[1];
                    return phasa1[1];
                }
                else cryptedNames = "Ошибка.";
            }
        }
    } catch (FileNotFoundException e) {
        System.err.println();
    }
    return cryptedNames;
}
}

Вот часть той самой lib.txt:

 УУУ,УУЦ=Фенилаланин
 УУА,УУГ,ЦУУ,ЦУЦ,ЦУА,ЦУГ=Лейцин

И всё кроме УУУ прекрасно преобразовывает.

Answer 1

На все 100% уверен, что файл lib.txt сохранён в кодировке UTF-8 с BOM. Пересохраните в UTF-8 без BOM и всё будет в порядке. Или добавьте операцию удаления BOM в код:

str = sc.nextLine();
str = str.replace("\uFEFF", "");
Answer 2

кстати говоря может кому и пригодится в IIDEA можно избавиться от BOM правый клик на файле и выбрать remove BOM

READ ALSO
Как «Поставить на паузу» процесс чужой программы

Как «Поставить на паузу» процесс чужой программы

Мне нужен метод, который бы остановил программу на неопределенный или определенный срок(Заморозить), подобно методу Threadsleep() , только у чужой...

116
Как в Java считать 2 строки из файла за цикл?

Как в Java считать 2 строки из файла за цикл?

Мне нужно считать в файле строки с данными и отправлять каждую в свою коллекцию, но считывать нужно по 2 строки за цикл, и что бы в этом цикле...

113
Android получить метаданные изображения

Android получить метаданные изображения

Как можно получить метаданные(время создания и размер файла) png изоражения? По возможности без подключения сторонних бибилиотек

94
Как изменить переменную java

Как изменить переменную java

Мне нужно изменить значение переменный, в чём ошибка

133