Ответы пользователя по тегу Java
  • Как поменять столбцы в двумерном массиве java?

    @aarifkhamdi
    В отличие от строк, которые ты можешь скопировать целиком за раз, со столбцами так не получится

    Копируй по одному элементу
    Ответ написан
    Комментировать
  • Как реализовать работу двух циклов одновременно?

    @aarifkhamdi
    Запусти их в двух потоках
    Ответ написан
    Комментировать
  • Как правильно считать файл в кодировке UTF-8?

    @aarifkhamdi Автор вопроса
    В результате узнал про CodePoint и получилось вот что:
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.nio.file.Files;
    import java.nio.file.Path;
    import java.nio.file.Paths;
    
    
    public class Main {
        public static void main(String[] args) {
            Path path = Paths.get("src/test");
            assert Files.exists(path) : "Файл не найден";
            try (BufferedReader bufferedReader = Files.newBufferedReader(path)) {
                int ch;
                char surrogate = 0;
                while ((ch = bufferedReader.read()) != -1) {
                    if (surrogate != 0) {
                        ch = Character.toCodePoint(surrogate, (char) ch);
                        surrogate = 0;
                    } else if (Character.isHighSurrogate((char) ch)) {
                        surrogate = (char) ch;
                        continue;
                    }
    //                в результате в ch имеем CodePoint
    //                можем работать как с обычным символом
                    System.out.println(Character.toChars(ch));
                }
            } catch (IOException e) {
                e.printStackTrace();
                System.exit(-1);
            }
        }
    }


    Вдруг кому пригодится.

    ps:
    в src/test лежит
    "幸福幸福幸福幸福一个梦想一个梦想Ðtestтест123456"
    Ответ написан
    Комментировать