Используя метод split() в объекте arraylist, код неполный

 public static void main(String[] args) throws Exception {
        File inputFile = new File("input.txt");
        Scanner read = new Scanner(inputFile);
        File outputFile = new File("output.txt");
        PrintWriter print = new PrintWriter(outputFile);
        if (!inputFile.exists()) {
            System.out.println("File does not exist!");
        }
        ArrayList<Event> myArray = new ArrayList<>();
        String commands = "";
        while (read.hasNext()) {
         if (commands.matches("AddMovie")){
           addMovie(read);  
         }
            
            
            
            
        }

        print.flush();
        print.close();
        read.close();

    }
    
    //java netbeans
 public static Event addMovie(Scanner in){
    String m[]=new String[6];
     for (int i = 0; i < m.length; i++) {
         String name=in.next();
         Date sDate=new Date(in.next());
         Date eDate=new Date(in.next());
         double price=in.nextDouble();
         String city=in.next();
         String address=in.next();
         String language=in.next();
         String tAudience=in.next();
         double raiting=in.nextDouble();
         int tickets=in.nextInt();
     }
     
 return movie;}   
    

ну, у меня здесь проблема, поэтому моя программа должна читать из файла эти данные

AddMovie--The Upside, 03.06.2019, 06.06.2019, 50, Эр-Рияд, торговый центр Al Qasr, английский, семейный, 4.5, 40, комедия, Николь Кидман, F, 1967

Я должен хранить их в объекте ArrayList, и я должен использовать символы, отличные от слов, в качестве разделителя для разделения этих данных, должен ли я создать метод и внутри этого метода одномерный массив, а затем использовать метод split()?

Предоставьте минимальный, полный и проверяемый пример, демонстрирующий проблему.

kozmo 23.03.2019 20:39

Пожалуйста, поделитесь кодом, который вы пробовали до сих пор.

Mick Mnemonic 23.03.2019 20:40
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
54
2

Ответы 2

Насколько я понимаю, вы на правильном пути. Учитывая, что вы прочитали предоставленные вами данные как одну строку, вы можете использовать для нее метод расколоть(",") и сохранить результат этого в массив строк.

так что я могу использовать массив строк для разделения данных, а затем сохранить их в arrayList объекта?

user11001205 23.03.2019 20:49

Итак, метод расколоть() создает массив строк, который затем можно преобразовать в объект ArrayList.

RaMb3asT 23.03.2019 20:55

Я думаю, что разделение на «символы, не являющиеся словами», было бы плохой идеей, так как, например, вы не хотели бы, чтобы 4.5 был разделен на 4 и 5. Я бы, наверное, разделился на ','. Если вы беспокоитесь об эффективности, было бы неплохо создать объект java.util.regex.Pattern с (например,)

Pattern pat = Pattern.compile(",");

затем всякий раз, когда вы хотите его использовать, используя:

pat.split(theString);

Другие вопросы по теме