Если вы хотите прочитать файл с определенной кодировкой, вы не можете использовать FileReader
.FileReader
использует кодировку по умолчанию, которая зависит от настроек системы.Вы можете использовать конструктор InputStreamReader InputStreamReader(InputStream in, String charsetName)
для того же самого.Также две строки из вашего кода
byte[] tempByte = st.getBytes("UTF-8");
String tempString = new String(tempByte);
должны быть удалены, поскольку вы просто берете строку, преобразуете ее в байты, а затем снова в строку, что не имеет смысла.В конце файл JSON - это просто текстовый файл.Узнайте больше о потоках ввода / вывода Java и кодировках символов .