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

196
23 декабря 2017, 05:29
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", "");
READ ALSO
Внутренние и вложенные классы

Внутренние и вложенные классы

Внутренние и вложенные классы — это не одно и тоже

209
Вопрос про исключения

Вопрос про исключения

Недавно начал изучать Java под AndroidКак я понял, исключения нужно брать в блок try and catch

188
Нужно создать файловый менеджер через walkFileTree [требует правки]

Нужно создать файловый менеджер через walkFileTree [требует правки]

Нужно создать файловый менеджер через walkFileTree

148
Получение картинок с сайта

Получение картинок с сайта

Делаю программу для расписания и возникла проблема

188