Идеи:
Сначала посмотрите на просмотр. Заменил текст.
Для кнопки Select File используйте метод AddactionListener () класса Jbutton, чтобы связать его событие, определить функцию ActionPerformed () в событии и вызовите метод выбора файла в корпусе функции.
В методе выбора сначала создайте селектор файлов jfileChoOser, используйте метод setFileFilter () класса JFileChoOser для создания фильтра для расширения файла, а затем используйте метод SetFileSelectionMode () класса JFileChoOser для установки режима файла в режим в режим в Файл и используйте Showopendialog класса Jfilechooser, чтобы установить метод выбора файла в файл). Отображает диалоговое окно открытия файла, и после подтверждения того, что пользователь нажимает кнопку «Открыть» вместо кнопки «Отмена», выбранным объектом файла, выбранным на Пользователь получен с помощью метода getSelectedFile () класса jfilechooser, а информация о файле отображается в текстовом поле с использованием метода SetText () класса JTextfield.
Для кнопки замены выберите кнопку «Файл», используйте метод AddActionListener () класса Jbutton, чтобы связать событие, определить функцию ActionPerformed () в событии и вызовите метод замены текста в корпусе функции.
В методе замены текста сначала используйте метод getText () класса TextField, чтобы получить поиск текста, а текст будет заменен. Массивов символов и строки StringBuilder Строительница read () метод класса FileReader используется для чтения содержимого файла в строительном строительстве в цикле while (). поток и используйте класс StringBuilder Метод reply () генерирует строку из строителя и заменяет текст поиска, а затем создает выходной поток файла файла файла файла, используйте метод write () класса файлов, чтобы записать замененную строку в файл, а затем используйте закрытие Класс файлов -автора. Метод () метод закрывает выходной поток, а затем выводит исключение FilenotFoundException и IOException, и, наконец, использует метод ShowMessageDialog () класса JoptionPane, чтобы побудить пользователя завершить замену.
Для кнопки «Открыть файл» используйте метод AddactionListener () класса Jbutton, чтобы привязать к нему событие, определить функцию ActionPerformed () в событии и вызовите метод открытия файла в корпусе функции.
Попробуйте использовать desktop.getdesktop (). Изменить (файл);
Код заключается в следующем:
Кода -копия выглядит следующим образом:
импортировать java.awt.borderlayout;
открытый класс replacefileText extends jframe {
/**
*
*/
Частный статический последний длинный серийный режим = 8674569541853793419L;
Частный JPanel ContentPane;
Private JTextfield FileField;
Private Jtextfield SearchTextfield;
Частный JTextfield Replacetextfield;
Частный файл;
/**
* Запустите приложение.
*/
public static void main (string [] args) {
EventQueue.invokelater (new Runnable () {
public void run () {
пытаться {
ReplyfileText frame = new ReplictFileText ();
Frame.SetVisible (true);
} catch (Exception e) {
e.printstacktrace ();
}
}
});
}
/**
* Создать кадр.
*/
public replacefileText () {
setReSizable (false);
setDefaultCloseoPeration (jframe.exit_on_close);
Setbounds (100, 100, 501, 184);
ContentPane = new jPanel ();
ContentPane.Setborder (новый пустойбордер (5, 5, 5, 5));
contentpane.setlayout (new Borderlayout (0, 0));
SetContentPane (ContentPane);
Jpanel panel = new jpanel ();
panel.setPrefreferredSize (новое измерение (10, 91));
ContentPane.add (панель, borderlayout.center);
Gridbaglayout gbl_panel = new Gridbaglayout ();
gbl_panel.columnwidths = new int [] {81, 0, 0, 66, 0};
gbl_panel.rowheights = new int [] {23, 0, 0, 0, 0};
gbl_panel.columnweights = new Double [] {0,0, 0,0, 0,0, 1,0,
Double.min_value};
gbl_panel.rowweights = new Double [] {0,0, 0,0, 0,0, 0,0,
Double.min_value};
panel.setlayout (gbl_panel);
Jbutton button = new jbutton ("select file");
button.addactionListener (new ActionListener () {
public void actionperformed (actionEvent e) {
do_button_actionperformed (e);
}
});
GridbagConstraints gbc_button = new GridbagConstraints ();
gbc_button.anchor = gridbagconstraints.northwest;
gbc_button.insets = новые вставки (0, 0, 5, 5);
gbc_button.gridx = 0;
gbc_button.gridy = 0;
panel.add (кнопка, gbc_button);
filefield = new JTextField ();
filefield.setEdable (false);
GridbagConstraints gbc_filefield = new GridbagConstraints ();
gbc_filefield.gridwidth = 3;
gbc_filefield.insets = новые вставки (0, 0, 5, 0);
gbc_filefield.fill = gridbagconstraints.horizontal;
gbc_filefield.gridx = 1;
gbc_filefield.gridy = 0;
panel.add (filefield, gbc_filefield);
filefield.setcolumns (10);
Jlabel label = new jlabel ("Поиск текст:");
GridbagConstraints gbc_label = new GridbagConstraints ();
gbc_label.anchor = gridbagconstraints.east;
gbc_label.insets = новые вставки (0, 0, 5, 5);
gbc_label.gridx = 0;
gbc_label.gridy = 1;
panel.add (метка, gbc_label);
searchTextField = new JTextField ();
GridbagConstraints GBC_SearchTextfield = new GridbagConstraints ();
gbc_searchtextfield.gridwidth = 3;
gbc_searchtextfield.insets = новые вставки (0, 0, 5, 0);
gbc_searchtextfield.fill = gridbagconstraints.horizontal;
gbc_searchtextfield.gridx = 1;
gbc_searchtextfield.gridy = 1;
panel.add (SearchTextField, GBC_SearchTextfield);
SearchTextField.SetColumns (10);
Jlabel label_1 = new jlabel ("Заменить с:");
GridbagConstraints gbc_label_1 = new GridbagConstraints ();
gbc_label_1.anchor = gridbagconstraints.east;
gbc_label_1.insets = новые вставки (0, 0, 5, 5);
gbc_label_1.gridx = 0;
gbc_label_1.gridy = 2;
panel.add (label_1, gbc_label_1);
Replacetextfield = new JTextField ();
GridbagConstraints gbc_replacetextfield = new Gridbagconstraints ();
GBC_REPLACETEXTFIELD.GRIDWIDTH = 3;
gbc_replacetextfield.insets = новые вставки (0, 0, 5, 0);
gbc_replacetextfield.fill = gridbagconstraints.horizontal;
gbc_replacetextfield.gridx = 1;
gbc_replacetextfield.gridy = 2;
panel.add (Replacetextfield, GBC_REPLACETEXTFIELD);
Replacetextfield.setColumns (10);
Jpanel panel_1 = new jpanel ();
GridbagConstraints gbc_panel_1 = new GridbagConstraints ();
gbc_panel_1.gridwidth = 4;
GBC_PANEL_1.FILL = GRIDBAGCONSTRAINTS.BOTH;
gbc_panel_1.gridx = 0;
gbc_panel_1.gridy = 3;
panel.add (panel_1, gbc_panel_1);
Jbutton replybutton = new jbutton ("replace");
replybutton.addactionListener (new ActionListener () {
public void actionperformed (actionEvent e) {
do_replacebutton_actionperformed (e);
}
});
panel_1.add (replybutton);
Jbutton openfilebutton = new jbutton ("open file");
openfilebutton.addactionListener (new ActionListener () {
public void actionperformed (actionEvent e) {
do_button_2_actionperformed (e);
}
});
panel_1.add (openfilebutton);
}
/**
* Выберите метод обработки событий кнопки файла
*
* @param e
*/
защищенная void do_button_actionperformed (actionevent e) {
Jfilechooser chooser = new jfilechooser ("./") ;// Создать селектор файлов
// установить фильтр расширения файла
chooser.setfilefilter (new filenameeextensionfilter ("text", "txt",
"java", "php", "html", "htm"));
// Установить режим выбора файла
chooser.setFileSelectionMode (jfilechooser.files_only);
// Показать диалоговое окно открытия файла файла
int option = chooser.showopendialog (это);
// Убедитесь, что пользователь нажимает кнопку «Открыть» вместо кнопки «Отмена»
if (option! = jfilechooser.approve_option)
возвращаться;
// Выбрать объект файла, выбранный пользователем
file = chooser.getSelectedFile ();
// Показать информацию о файле в текстовое поле
filefield.settext (file.tostring ());
}
/**
* Метод обработки событий заменить кнопку
*
* @param e
*/
защищенная void do_replacebutton_actionperformed (actionevent event) {
String searchText = searchTextField.getText (); // Получить текст поиска
String Replacetext = ReplacetextField.getText (); // Получить текст замены
if (searchtext.isempty ())
возвращаться;
пытаться {
FILEREADER FIS = NEW FILEREADER (FILE); // Создание потока ввода файла
char [] data = new char [1024]; // Создать буферный массив символов
int rn = 0;
StringBuilder SB = new StringBuilder (); // Создать строитель строк
while ((rn = fis.read (data))> 0) {// Читать содержимое файла в строитель строк
String str = string.valueof (data, 0, rn);
SB.Append (str);
}
fis.close (); // Закрыть входной поток
// генерируйте строку от строителя и замените текст поиска
String str = sb.toString (). Заменить (SearchText, Replacetext);
FileWriter fout = new FileWriter (file); // Создать выходной поток файла
fout.write (str.tochararray ()); // Записать замененную строку в файл
fout.close (); // закрыть выходной поток
} catch (filenotFoundException e) {
e.printstacktrace ();
} catch (ioException e) {
e.printstacktrace ();
}
Joptionpane.showmessageDialog (null, "замена завершена");
}
/**
* Как обрабатывать событие кнопки Open File.
*
* @param e
*/
Защищенная void do_button_2_actionperformed (actionevent e) {
пытаться {
if (file == null)
возвращаться;
Desktop.getdesktop (). Edit (file);
} catch (ioException e1) {
e1.printstacktrace ();
}
}
}