Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

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

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

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

Скрины скинуть не могу, к сожалению
Голосование за лучший ответ
P̲u̲t̲ i̲n̲ Мудрец (15413) 1 год назад
Для того чтобы связать два этих файла, нужно выполнить следующие шаги:
1. В файле с функцией toUpper (toUpper.java) сделайте функцию toUpper публичной и статической:
 public static String toUpper(String text) { 
// ...
}
2. Вместо package Zhi;, используйте уникальное имя пакета, например, package com.example.utils;.
3. Скомпилируйте файл toUpper.java:
 javac -d . toUpper.java 
4. В файле TestFrame.java импортируйте функцию toUpper:
 import com.example.utils.toUpper; 
5. После выбора файла, считайте его содержимое, преобразуйте текст с помощью функции toUpper и затем сохраните обратно в файл. Для этого вам нужно будет изменить метод actionPerformed внутри вашего ActionListener:
 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, и изменения будут сохранены обратно в файл.
АленаУченик (112) 1 год назад
Скажите, пожалуйста, как исправить ошибки?
P̲u̲t̲ i̲n̲ Мудрец (15413) Алена, Ошибки связаны с опечатками и неправильным форматированием кода. Вот исправленная версия файла toUpper.java:
 package com.example.utils; 
 
public class toUpper { 
 
    public static String toUpper(String text) { 
        StringBuilder builder = new StringBuilder(text); 
        if (Character.isAlphabetic(text.codePointAt(0))) { 
            builder.setCharAt(0, Character.toUpperCase(text.charAt(0))); 
        } 
         
        for (int i = 1; i < text.length(); i++) { 
            if (Character.isAlphabetic(text.charAt(i)) && Character.isSpaceChar(text.charAt(i - 1))) { 
                builder.setCharAt(i, Character.toUpperCase(text.charAt(i))); 
            } 
        } 
         
        return builder.toString(); 
    } 
} 
 
Похожие вопросы