alasan:
Karena beberapa tutorial video diunduh secara online, beberapa di antaranya memiliki nama yang sangat panjang, dan umumnya dipromosikan oleh lembaga atau situs web, sehingga tidak nyaman untuk secara langsung melihat pengenalan video, sehingga fungsi pertama berikut dibuat.
Karena guru mengirim terlalu banyak folder di courseware, terlalu merepotkan untuk mengetahuinya, jadi fungsi kedua dibuat.
Saya baru saja belajar pengetahuan tentang file Java dan streaming baru -baru ini, jadi saya kebetulan mempraktikkan keterampilan saya. Ini juga program EXE pertama saya, jadi saya bisa membagikannya.
(Ekspor file jar dan gunakan alat exe4j untuk menghasilkan file exe, bagian ini dihilangkan)
Pengetahuan yang digunakan:
Menggunakan pengetahuan tentang file, aliran, dan pengetahuan GUI sederhana di Java.
Fungsi:
Fungsi 1: Hapus kata kunci tertentu dalam nama file, dan Anda juga dapat mengatur kata pengganti.
Fungsi 2: Ekstrak semua file jenis tertentu di bawah jalur dan letakkan di bawah folder baru. Jika ada file duplikat, mereka akan secara otomatis diurutkan dan menambahkan angka untuk membedakannya.
Pertama -tama lihat antarmuka startup dan file EXE yang dihasilkan:
Demonstrasi fitur pertama:
Tidak ada operasi sebelumnya:
Setelah Operasi: Hapus semua kata kunci yang sama di bagian sebelumnya
Ada juga fungsi penarikan:
Demonstrasi fungsi kedua:
Sebelum operasi:
Setelah operasi:
Tentu saja, ada juga fungsi penarikan
Analisis Kode Sumber:
Kelas Startup:
paket guuze; tes kelas publik {public static void main (string [] args) {// mulai GUI, yaitu, antarmuka pengguna baru showgui ();}}Tampilkan Kelas GUI:
Paket Guuze; impor java.awt.dimension; impor java.awt.flowlayout; impor java.awt.font; import java.awt.image; impor java.awt.toolkit; impor java.awt.mouseadapter; impor java.awt.event.mouseevent.awt.mouseadapter; impor java.awt.event.mouseevent java.awt.event.windowevent; import java.io.file; impor javax.swing.jbutton; import javax.swing.jframe; import javax.swing.jtextfield; public classgui {private jframe f; private jbutton b1; private jbutton b2; tf2;private JTextField tf3;private JButton b4;private JButton b5;private JButton b6;private JTextField tf4;private JTextField tf5;private JTextField tf6;private static String s1;public ShowGui() {// Call startGui() directly;}public void startGui() {f = new BgSet();// Used to set the background image f.setLayout (flowlayout baru ()); Ikon gambar = toolkit.getDefaultToolKit (). getImage ("gambar/4.jpg"); // atur ikon logo kiri atas f.seticonimage (ikon); // 6 tombol b1 = jbutton baru ("start"); b2 = jbutton baru ("retract"); b3 = jbutton baru ("keluar"); b4 = jbutton baru ("ekstraksi satu klik"); b5 = jbutton baru ("keluar"); b6 = jbutton baru ("keluar"); // ukuran 6 tombol b1.setprefredsize (dimensi new dimensi (89, 39); 39)); b3.setPreferredSize (dimensi baru (89, 39)); b4.setPreferredSize (dimensi baru (89, 39)); b5.setPreferredSsize (dimensi baru (89, 39)); B6.setPreferedSize (dimensi baru (89, 39));// Ukuran 6 TEK (89); JTextField ("Harap input absolute_path", 40); tf1.setfont (font baru ("Harap input absolute_path", 40); tf1.setfont (font baru ("silakan input", font.plain, 25)); tf1.setbounds (200, 15, 15, 550, 126); 40);tf2.setFont(new Font("Please input keyWords", Font.PLAIN, 25));tf2.setBounds(200, 15, 550, 126);tf3 = new JTextField("Please input replaceWords", 40);tf3.setFont(new Font("Zongyi", Font.PLAIN, 25));tf3.setBounds(200, 15, 550, 126); tf4 = jTextField baru ("Harap masukkan absolute_path", 40); tf4.setFont (font baru ("zongyi", font.plain, 25)); tf4.setbounds (200, 15, 550, 126); tf5 = new jtextfield ("silakan input target inpute_puth"); TF5 = new jtextfield ("silakan input target input _); target_path ", 40); tf5.setFont (font baru (" Harap input ", font.plain, 25)); tf5.setbounds (200, 15, 550, 126); tf6 = jtextfield baru (" silakan input filetype ", 40); tf6.setfont (font baru (" silakan input ", font. 550, 126); // Tambahkan tombol dan kotak teks ke f.add (tf1); f.add (tf2); f.add (tf3); f.add (b1); f.add (b2); f.add (b3); f.add (tf4); f.add (tf5); f.add (tf6); f.add (b4) (tf5); f.add (tf6); f.add (b4) (tf5); f.add (tf6); f.add (b4); acara mendengarkan acara myEvent (); f.setVisible (true);} private void myEvent () {// klik pada sudut kanan atas × untuk keluar dari f.addwindowlistener (windowAdapter baru () {public void windowclosing (windowevent e) {System.exit (0);}}}; {public void mouseclicked (mouseEvent e) {s1 = tf1.getText (); // membuat penilaian pada nilai di kotak teks. Jika tidak ada yang ditulis, itu diperlakukan sebagai kosong. Berikut ini mirip dengan if (s1.equals ("Harap input path")) {s1 = "";} file file = file baru (s1); string test []; test = file.list (); renamefunction.test1 = test; string s2 = tf2.getText (); if (s2.equals ("silakan input repraceword = tf2.getText (); if (s2.equals (" silakan input Replaceword = tf2.getText (); if (s2.equals ("silakan input Replaceword = tf2.getText (); if (s2.equals (" silakan input Replacewords = tf2.getText (); if (s2.equals ("silakan input Replacewords = tf2.gEtex tf3.getText (); if (s3. mouseClicked(MouseEvent e) {try {try {if (!s1.equals("Please input path")) {// Start RevokeRename.revoke(s1);}} catch (Exception e2) {}} catch (Exception e1) {}}});// Click the response event b3.addMouseListener(new MouseAdapter() {public void mouseClicked (mouseEvent e) {System.exit (0); // keluar}}); // Klik peristiwa respons b4.addmouseListener (mouseadapter baru () {public void mouseClicked (mouseEvent E) {string S2 = tf4.gettext (); tf6.getText (); if (s2.equals ("Harap masukkan absolute_path")) {s2 = "";} if (s3.equals ("Harap input target_path")) {s3 = "";} if (s4.equals ("Harap input filetype")) {s4 = "";}, s4.equals ("silakan input filetype")) {s4 = "";}, s4. s4);}}); // Klik peristiwa respons b5.addmouseListener (mouseadapter baru () {public void mouseclicked (mouseEvent e) {string s2 = tf5.getText (); // Mulai fungsi penarikan respon.startdelete (s2);}; Mouseadapter () {public void mouseclicked (mouseEvent e) {System.exit (0); // KELUAR}});}} Kelas Pengaturan Gambar Latar Belakang GUI:
package guuze;import javax.swing.ImageIcon;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;public class BgSet extends JFrame {private static final long serialVersionUID = 1L;public BgSet() {// Set title super("GreatFish");setBounds(100, 100, 600, 600); // Jalur ke gambar latar belakang. String path = "gambar/3.jpg"; latar belakang ImageIcon = gambar baru (path); label jlabel = jLabel baru (latar belakang); label.setBounds (0, 0, this.getWidth (), this.getHeight ()); jpanel imagepanel = (jpanel) this.getContentPane (); imagepanel.setOpaque (false); this.getLayeredpane (). Tambah (label, integer baru (integer.min_value));}} Kelas Renaming File:
Paket Guuze; Impor java.io.file; import java.util.scanner; renamefunction kelas publik {static scanner input = pemindai baru (system.in); public string test1 []; public static void tentu saja (string s1, string s2, string s3) lemparan pengecualian {file = file static (s1) (s1); string; string s3) lemparan pengecualian {File = File baru (S1); STRING; SANG; Nama untuk (int i = 0; i <test.length; i ++) {// Tentukan apakah ada kata kunci yang ingin Anda hapus if (test [i] .indexof (s2)! = -1) {// simpan nama file yang diganti namanya [i] = test [i] .replace (s2, s3);} name file [i] = penganjaan = for. {for (file f: file) {if (f.isfile ()) {// mengulang nama ganti nama f.renameto (file baru (s1 + "/" + test [i ++]));}}}}}} Kelas Fungsi Ganti Nama dan Tarik File:
paket guuze; import java.io.file; kelas publik revokerename {public static void revoke (string s1) melempar pengecualian {// menilai ulang file nama asli = file baru (s1); file [] file = file.listFiles (); untuk (int i = 0; i <renamefunction.test1.length) (); untuk (int i = 0; i <renamefunction.test1.lengthy) (); untuk (int i = 0; i <renamefunction.test1.length) (); untuk (int i = 0; i <renamefunction.test1.lengthy) (); untuk (int i = 0; i <renamefunction.test1.lengthy (); {// Perhatikan bahwa test1f.renameto (file baru (s1 + "/" + renamefunction.test1 [i ++]));}}}}} Kelas Salin File:
package guuze;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;public class SearchFileFunction {static int count = 1;public static void startCopy(String source_path, String target_path, string file_type) {// Mulai fungsi loop xunhuan (source_path, target_path, file_type);} public static void xunhuan (string source_path, string target_path, file string. (file.isfile () && file.getAbsolutePath (). endswith (file_type)) {string new_path = target_path + "/" + file.getname (); file file1 = file baru (new_path); if (! file1.exists ()) {try {file1.ceateneWfile); if () {{{) {{{{) {to) {{{{) {ctre {{{) {{{{{{{file)) {ctre {new. {// Jika nama file sama, tambahkan nomor sebelum titik untuk membedakan // silakan gunakan //. Untuk memisahkannya, bukannya. + arr [1]; file1.renameto (File baru (new_path1));} // Ini adalah file, jadi mulailah menyalin file filecopybufferstreamarray (file.getabsoluteTePath (), noth -notpath (). tubuh, jangan lakukan pemrosesan} else {for (int i = 0; i <names.length; i ++) {// bukan file, iterate xunhuan (file.getAbsolutePath () + "/" + names [i], target_path, file_type);}}} public static void publicybybuff FileCopybuff) public static file statis publicbybuff publicybuff publicybuff Public staticilbybuff Public staticy filecopybuffybuff) public void void public filecopybybuf files with knowledge of streams File file = new File(srcFile);File file1 = new File(targetFile);FileInputStream fis = null;FileOutputStream fos = null;BufferedInputStream bis = null;BufferedOutputStream bos = null;try {fis = new FileInputStream(file);fos = new FileOutputStream(file1);bis = new BufferedInputStream (fis); bos = baru bufferedoutputStream (fos); int len = 0; byte [] b = byte baru [10]; while ((len = bis.read (b))! = -1) {bos.write (b, 0, len);} bos.flathush (); {bos.write (b, 0, len);} bos.flathush ();}; {fis.close (); fos.close (); bis.close (); bos.close ();} catch (ioException e) {}}}} File Copy Retraction Class:
paket guuze; import java.io.file; kelas publik RemovetargetFile {public static void startDelete (string path) {file file = file baru (path); deleteFile (file);} private static void deleteFile (file file) {// ingat untuk tidak menghapus folder dari path IF (file. hapus file.delete ();} else if (file.isDirectory ()) {file [] file = file.listFiles (); untuk (int i = 0; i <fileDi atas adalah penggantian nama batch file java dan ekstraksi batch jenis file tertentu yang diperkenalkan oleh editor. Saya harap ini akan membantu semua orang. Jika Anda memiliki pertanyaan, silakan tinggalkan saya pesan dan editor akan membalas semua orang tepat waktu. Terima kasih banyak atas dukungan Anda ke situs web Wulin.com!