Ide:
Pertama -tama melihat lapisan tampilan. Teks yang diganti.
Untuk tombol Pilih File, gunakan metode AddActiCTListener () dari kelas JBUTTON untuk mengikat acara ke dalamnya, tentukan fungsi ActionPerformed () dalam acara tersebut, dan panggil metode memilih file dalam badan fungsi.
Dalam metode file seleksi, pertama -tama buat pemilih file jfilechooser, gunakan metode setFileFilter () dari kelas JFileChooser untuk membuat filter ekstensi file, dan kemudian gunakan metode setFilesElectionMode () dari kelas JFilechooser untuk mengatur mode pemilihan file ke a File, dan gunakan showopendialog dari kelas JFileChooser untuk mengatur mode pemilihan file ke file. Pengguna diperoleh melalui metode getSelectedFile () dari kelas JFilechooser, dan informasi file ditampilkan ke kotak teks menggunakan metode settext () dari kelas JTextField.
Untuk tombol Penggantian, pilih tombol File, gunakan metode AddActiCListener () dari kelas Jbutton untuk mengikat acara, tentukan fungsi ActionPerformed () dalam acara tersebut, dan panggil metode mengganti teks di badan fungsi.
Dalam metode Teks Penggantian, pertama -tama gunakan metode getText () dari kelas TextField untuk mendapatkan teks yang akan dicari dan teks yang akan diganti. Metode Array dan StringBuilder String The Read () dari kelas FileReader digunakan untuk membaca konten file ke pembangun string di loop while () setelah membaca, gunakan metode tutup () dari kelas filereader untuk menutup input streaming, dan gunakan kelas StringBuilder Metode ganti () menghasilkan string dari pembangun dan mengganti teks pencarian, kemudian membuat aliran output file fileWriter, gunakan metode write () dari kelas FileWriter untuk menulis string yang diganti ke dalam file, dan kemudian gunakan penutupan penutupan Metode FileWriter Class () menutup aliran output, kemudian menangkap Exception FileNotFoundException dan IoException secara bergantian, dan akhirnya menggunakan metode showmessageDialog () dari kelas JOptionPane untuk meminta pengguna untuk menyelesaikan penggantian.
Untuk tombol Open File, gunakan metode AddActiCTListener () dari kelas JBUTTON untuk mengikat acara ke sana, tentukan fungsi ActionPerformed () dalam acara tersebut, dan panggil metode membuka file di badan fungsi.
Coba gunakan desktop.getdesktop (). Edit (file);
Kodenya adalah sebagai berikut:
Salinan kode adalah sebagai berikut:
impor java.awt.borderlayout;
ReplaceFileText kelas publik memperpanjang jframe {
/**
*
*/
SerialVersionuid panjang final statis pribadi = 8674569541853793419L;
ContentPane Jpanel Pribadi;
Private JTextfield Filefield;
Private JTextField SearchTextfield;
Private JTextField Replacetextfield;
file file pribadi;
/**
* Luncurkan aplikasi.
*/
public static void main (string [] args) {
Eventqueue.invokelater (runnable baru () {
public void run () {
mencoba {
ReplaceFileText frame = REPLACEFILETEXT baru ();
frame.setVisible (true);
} catch (Exception e) {
e.printstacktrace ();
}
}
});
}
/**
* Buat bingkai.
*/
PUBLIK REPLACEFILETEXT () {
setResizable (false);
setDefaultCloseOperation (jframe.exit_on_close);
setbounds (100, 100, 501, 184);
ContentPane = jpanel baru ();
contentpane.setborder (baru kosong (5, 5, 5, 5));
ContentPane.setLayout (BorderLayout baru (0, 0));
setContentPane (ContentPane);
Jpanel panel = jpanel baru ();
panel.setPreferredSize (dimensi baru (10, 91));
contentpane.add (panel, borderlayout.center);
Gridbaglayout gbl_panel = new gridbaglayout ();
gbl_panel.columnwidths = int int [] {81, 0, 0, 66, 0};
gbl_panel.rowheights = int new baru [] {23, 0, 0, 0, 0};
gbl_panel.columnweights = double baru [] {0,0, 0,0, 0,0, 1.0,
Double.min_value};
gbl_panel.rowweights = double baru [] {0,0, 0,0, 0,0, 0,0,
Double.min_value};
panel.setLayout (gbl_panel);
Jbutton tombol = jbutton baru ("pilih file");
Button.AddActionListener (ActionListener baru () {
public void actionPerformed (actionEvent e) {
do_button_actionperformed (e);
}
});
Gridbagconstraints gbc_button = new gridbagconstraints ();
gbc_button.anchor = gridbagconstraints.northwest;
gbc_button.insets = inset baru (0, 0, 5, 5);
gbc_button.gridx = 0;
gbc_button.gridy = 0;
panel.add (tombol, GBC_BUTTON);
filefield = new jTextField ();
filefield.seteditable (false);
Gridbagconstraints gbc_filefield = gridbagconstraints baru ();
gbc_filefield.gridwidth = 3;
gbc_filefield.insets = inset baru (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);
Label jlabel = new jlabel ("Teks pencarian:");
Gridbagconstraints gbc_label = new gridbagconstraints ();
gbc_label.anchor = gridbagconstraints.east;
gbc_label.insets = inset baru (0, 0, 5, 5);
gbc_label.gridx = 0;
gbc_label.gridy = 1;
panel.add (label, gbc_label);
searchTextField = new jTextField ();
Gridbagconstraints gbc_searchtextfield = new gridbagconstraints ();
gbc_searchtextfield.gridwidth = 3;
gbc_searchtextfield.insets = insets baru (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 = jlabel baru ("ganti dengan:");
Gridbagconstraints gbc_label_1 = gridbagconstraints baru ();
gbc_label_1.anchor = gridbagconstraints.east;
gbc_label_1.insets = insets baru (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 = insets baru (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 = jpanel baru ();
Gridbagconstraints gbc_panel_1 = gridbagconstraints baru ();
gbc_panel_1.gridwidth = 4;
gbc_panel_1.fill = gridbagconstraints.koth;
gbc_panel_1.gridx = 0;
gbc_panel_1.gridy = 3;
panel.add (panel_1, gbc_panel_1);
Jbutton gantibutton = jbutton baru ("ganti");
gantibutton.addactionListener (actionListener baru () {
public void actionPerformed (actionEvent e) {
do_replaceButton_actionperformed (e);
}
});
panel_1.add (gantibutton);
Jbutton openfilebutton = jbutton baru ("file terbuka");
OpenFilebutton.addactionListener (ActionListener baru () {
public void actionPerformed (actionEvent e) {
do_button_2_actionperformed (e);
}
});
panel_1.add (OpenFilebutton);
}
/**
* Pilih metode penanganan acara tombol file
*
* @param e
*/
void do_button_actionperformed (actionEvent e) {{ActionEvent E) {
JFILECHOOSER CHOOSER = JFILECHOOSER BARU ("./");// Buat Pemilih File
// Atur filter ekstensi file
chooser.setFileFilter (filenameextensionfilter baru ("teks", "txt",
"java", "php", "html", "htm"));
// Atur mode pemilihan file
chooser.setFilesElectionMode (jfilechooser.files_only);
// Tampilkan kotak dialog pembukaan file
Int option = chooser.showopendialog (ini);
// Pastikan pengguna menekan tombol buka alih -alih tombol batal
if (opsi! = jFilechooser.approve_option)
kembali;
// Dapatkan objek file yang dipilih oleh pengguna
file = chooser.getSelectedFile ();
// Tampilkan informasi file ke kotak teks
filefield.setText (file.toString ());
}
/**
* Ganti Metode Penanganan Acara Tombol
*
* @param e
*/
void do_replaceButton_actionPerformed (ActionEvent Event) {ACTION) {
String SearchText = SearchTextField.getText (); // Dapatkan Teks Cari
String ReplaceText = ReplaceTextField.getText (); // Dapatkan Teks Penggantian
if (searchText.isempty ())
kembali;
mencoba {
Filereader fis = filereader baru (file); // Buat aliran input file
char [] data = char baru [1024]; // Buat array karakter buffered
int rn = 0;
StringBuilder SB = New StringBuilder (); // Buat pembangun string
while ((rn = fis.read (data))> 0) {// Baca konten file ke string builder
String str = string.ValueOf (data, 0, rn);
SB.Append (str);
}
fis.close (); // tutup aliran input
// Hasilkan string dari pembangun dan ganti teks pencarian
String str = sb.toString (). REPLACE (SearchText, ReplaceText);
FileWriter fout = FileWriter baru (file); // Buat aliran output file
fout.write (str.tochararray ()); // tulis string yang diganti ke dalam file
fout.close (); // tutup aliran output
} catch (FileNotFoundException e) {
e.printstacktrace ();
} catch (ioException e) {
e.printstacktrace ();
}
JOPTIONPANE.SHOWMESSADEIALOG (NULL, "PENGGANTIAN DILAKUKAN");
}
/**
* Cara Menangani Peristiwa Tombol File Buka.
*
* @param e
*/
void do_button_2_actionperformed (actionEvent e) {{{{{{{{
mencoba {
if (file == null)
kembali;
Desktop.getDesktop (). Edit (file);
} catch (ioException e1) {
e1.printstacktrace ();
}
}
}