Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+2

Помогите доделать задачу на Java

Я оформила диалоговое окно с выбором файла (оно работает), написала функцию для того, чтобы каждый первый символ слова становился заглавным. Подскажите, как связать два этих файла, чтобы все работало? То есть чтение из файла



, обработка и вывод в файл

Скрины скинуть не могу, к сожалению

По дате
По рейтингу
Аватар пользователя
Мудрец

Для того чтобы связать два этих файла, нужно выполнить следующие шаги:
1. В файле с функцией toUpper (toUpper.java) сделайте функцию toUpper публичной и статической:

1234
 public static String toUpper(String text) { 
    // ... 
} 
 

2. Вместо package Zhi;, используйте уникальное имя пакета, например, package com.example.utils;.
3. Скомпилируйте файл toUpper.java:

12
 javac -d . toUpper.java 
 

4. В файле TestFrame.java импортируйте функцию toUpper:

12
 import com.example.utils.toUpper; 
 

5. После выбора файла, считайте его содержимое, преобразуйте текст с помощью функции toUpper и затем сохраните обратно в файл. Для этого вам нужно будет изменить метод actionPerformed внутри вашего ActionListener:

123456789101112131415161718192021222324252627282930
 public void actionPerformed(ActionEvent e) { 
    JFileChooser fileopen = new JFileChooser(); 
    int ret = fileopen.showDialog(null, "Открыть файл"); 
    if (ret == JFileChooser.APPROVE_OPTION) { 
        File file = fileopen.getSelectedFile(); 
        label.setText(file.getName()); 
 
        // Чтение содержимого файла 
        StringBuilder content = new StringBuilder(); 
        try (BufferedReader br = new BufferedReader(new FileReader(file))) { 
            String line; 
            while ((line = br.readLine()) != null) { 
                content.append(line).append('\n'); 
            } 
        } catch (IOException ex) { 
            ex.printStackTrace(); 
        } 
 
        // Преобразование текста с помощью функции toUpper 
        String modifiedContent = toUpper.toUpper(content.toString()); 
 
        // Сохранение обработанного текста обратно в файл 
        try (BufferedWriter bw = new BufferedWriter(new FileWriter(file))) { 
            bw.write(modifiedContent); 
        } catch (IOException ex) { 
            ex.printStackTrace(); 
        } 
    } 
} 
 

Теперь ваш код будет работать, как вы ожидаете: после выбора файла его содержимое будет преобразовано с помощью функции toUpper, и изменения будут сохранены обратно в файл.