Grund:
Da einige Video -Tutorials online heruntergeladen werden, haben einige von ihnen sehr lange Namen und werden im Allgemeinen von Institutionen oder Websites beworben. Es ist daher nicht bequem, die Einführung des Videos direkt anzuzeigen, sodass die folgende erste Funktion durchgeführt wurde.
Da der Lehrer zu viele Ordner in der Kurse geschickt hat, war es zu problematisch, nacheinander herauszufinden, sodass die zweite Funktion gemacht wurde.
Ich habe gerade das Wissen über Java -Dateien und Streaming in letzter Zeit gelernt, deshalb habe ich gerade meine Fähigkeiten geübt. Dies ist auch mein erstes Exe -Programm, also kann ich es teilen.
(Exportieren Sie die JAR -Datei und verwenden Sie das Tool EXE4J, um die EXE -Datei zu generieren. Dieser Teil wird weggelassen)
Wissen verwendet:
Verwendet Kenntnisse über Dateien, Streams und einfache GUI -Kenntnisse in Java.
Funktion:
Funktion 1: Entfernen Sie bestimmte Schlüsselwörter im Dateinamen, und Sie können auch Ersatzwörter festlegen.
Funktion 2: Extrahieren Sie alle Dateien bestimmter Typen unter einem Pfad und platzieren Sie sie unter einen neuen Ordner. Wenn es doppelte Dateien gibt, werden sie automatisch sortiert und Zahlen hinzugefügt, um sie zu unterscheiden.
Schauen Sie sich zunächst die Startschnittstelle und die generierte EXE -Datei an:
Die erste Feature -Demonstration:
Keine Operation vorher:
Nach dem Betrieb: Entfernen Sie im vorherigen Teil alle gleichen Schlüsselwörter
Es gibt auch eine Auszahlungsfunktion:
Die zweite Funktionsdemonstration:
Vor dem Betrieb:
Nach dem Betrieb:
Natürlich gibt es auch eine Rückzugsfunktion
Quellcodeanalyse:
Start -up -Klasse:
Package Guuze; public class Test {public static void main (String [] args) {// Starten Sie die GUI, dh die Benutzeroberfläche New Showgui ();}}GUI -Klasse zeigen:
Paket Guuze; Import Java.awt.Dimension; Import Java.awt.flowlayout; Import Java.awt.font; Import Java.awt.image; Import Java.awt.toolkit; Import Java.awt.event.mouseadapter; java.awt.event.WindowEvent;import java.io.File;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JTextField;public class ShowGui {private JFrame f;private JButton b1;private JButton b2;private JButton b3;private JTextField tf1;private JTextField tf2; private jtextfield tf3; private jbutton b4; privat jbutton b5; privat jbutton b6; private jtextfield tf4; private jtextfield tf5; privat jtextfield tf6; F.SetLayout (neuer FlowLayout ()); Bildsymon = Toolkit.getDefaulttoolkit (). getImage ("Image/4.JPG"); // Set das obere linke Logo -Symbol F.Seticonimage (Icon); // 6 Schaltflächen B1 = New Jbutton ("Start"); B2 = neuer Jbutton ("Retract"); b3 = neuer jbutton ("exit"); b4 = neuer jbutton ("One-Click-Extraktion"); B5 = neuer Jbutton ("Exit"); B6 = neuer Jbutton ("Exit"); // Die Größe 6 Buttons B1.SetPreferredsize (New Dimension (89, 39); 39)); b3.setPreferredsize (neue Dimension (89, 39)); b4.setPreferredsize (neue Dimension (89, 39)); b5.setPreferredsize (neue Dimension (89, 39); JTextField ("Bitte geben Sie Absolute_Path ein", 40); tf1.setfont (neue Schriftart ("Bitte geben Sie Absolute_Path ein. Schriftart ("Bitte Schlüsselwörter eingeben", font.plain, 25)); tf2.setBounds (200, 15, 550, 126); JTextField ("Bitte geben Sie Absolute_path ein", 40); tf4.setfont (neue Schriftart ("Zongyi", font.plain, 25); Tf4.Setbounds (200, 15, 550, 126); Font ("bitte eingeben", font.plain, 25)); tf5.setBounds (200, 15, 550, 126); f.add (tf1); f.add (tf2); f.add (tf3); Ereignishörfunktion Myevent (); {public void mouseclicked (mouseevent e) {s1 = tf1.getText (); // urteilen den Wert im Textfeld. Wenn nichts geschrieben wird, wird es als leer behandelt. Das Folgende ist ähnlich wie bei if (s1.equals ("Bitte eingeben") {s1 = "";} Datei = neue Datei (S1); String test []; test = file.list () umbenameFunction.Test1 = Test; String S2 = Tf2.GetText (); (s3.equals("Please input replaceWords")) {s3 = "";}try {// Start the rename function RenameFunction.sure(s1, s2, s3);} catch (Exception e1) {}}});// Click the response event b2.addMouseListener(new MouseAdapter() {public void mouseClicked(MouseEvent e) {try {try {if (! {System.exit (0); Absolute_path ") {s2 =" ";} if (s3.equals (" Bitte geben Sie target_path ein)) {s3 = "";} if (s4.equals ("Bitte ein Eingeben von Filetypen eingeben") {S4 = "";} // starten Sie die Datei -Suchfunktions -SearchFileFunction. B5.AddMouselistener (neuer Mouseadapter () {public void mouseclicked (MouseEvent e) {String s2 = tf5.GetText (); // Die abzielungsfunktion removetargetFile.StartDelete (s2);}}) // klicken Sie auf das Response -Ereignis b6.ADADDOUTDELLEER (New Mouseadapter (New Mouseadapter) (New Mouseadapter (New MouseaDapter) (New MouseDapter) (New MouseaDapter) (New MouseDapter) (New MouseaDapter) (New MouseaDapter (New MouseDapter) klicken Sie auf. mouseclicked (mouseEvent e) {System.exit (0); // Ausfahrt}});}} GUI -Hintergrundbildeinstellungen Klasse:
Paket Guuze; import Javax.swing.imageicon; Import Javax.swing.jframe; Import Javax.swing.jlabel; Import Javax.swing.jpanel; 600); // Pfad zum Hintergrundbild. String path = "Image/3.jpg"; imageicon Hintergrund = new ImageCon (Path); jLabel label = new JLabel (Hintergrund); Label.Setbounds (0, 0, this.getWidth (), this.getheight ()); jPanel imagePanel = (jpanel) this.getContentPane (); ImagePanel.Setopaque (false); this.getLayeredPane (). Add (Label, New Integer (Integer.min_value));}}
Datei umbenennte Klasse:
Paket Guuze; importieren java.io.file; import Java.util.scanner; öffentliche Klasse umbenameFunction {static Scanner input = neuer Scanner (System.in); public static String test1 []; public static void sicher (String S1, String S2, String S3) Ausnahme {). (int i = 0; i <test.length; i ++) {// Bestimmen Sie, ob es ein Schlüsselwort gibt, das Sie entfernen möchten. (Datei F: Dateien) {if (f.isfile ()) {// Schleifen Sie den Namen F.Renameto um (neue Datei (S1 + "/" + testen [i ++]);}}}}}}}}}}}}}}}}}}}} Funktionsklasse umbenennen und zurückziehen:
Paket Guuze; importieren java.io.file; public class revokerEname {public static void revoke (String S1) löst Ausnahme aus {// Die ursprüngliche Namensdatei = Neue Datei (S1); Datei [] Datei = Datei.ListFiles (); for (int i 0; i <renamefunction.test1.Length;) {form ({) {for ({for Beachten Sie, dass test1f.renameto (neue Datei (S1 + "/" + umbenamefunktion.test1 [i ++]));}}}}}} Dateikopieklasse:
Paket Guuze; import Java.io.BufferedInputStream; Import Java.io.BufferedOutputStream; Import Java.io.file; Import Java.io.FileInputStream; importieren Sie Java.io.fileOutputStream; Import Java.io.io.IOISIOException; target_path, String file_type) {// Die Schleifenfunktion Xunhuan (source_path, target_path, file_type);} public static void Xunhuan (String Source_Path, String toce_path, String -Datei_Type) {Datei = Neue Datei (Quelldatei) (Quelle_Path); String -Namen [] = Datei. (file.isFile() && file.getAbsolutePath().endsWith(file_Type)) {String new_path = target_path + "/" + file.getName();File file1 = new File(new_path);if (!file1.exists()) {try {file1.createNewFile();} catch (IOException e) {}} else {// If the Dateiname ist der gleiche, fügen Sie eine Nummer vor dem Punkt hinzu, um // bitte // zu unterscheiden. zu trennen anstelle von.string [] arr = new_path.split ("//."); String new_path1 = arr [0] + count + "." + arr [1]; Datei1.Renameto (neue Datei (new_path1));} // Es ist eine Datei. Beginnen Sie also mit dem Kopieren der Datei filecopyBufferTreamarray (Datei.getabsolUTEPath (), new_path);} else if (Datei.isfile () &&! body, just don't do processing} else {for (int i = 0; i < names.length; i++) {// Not a file, iterate xunHuan(file.getAbsolutePath() + "/" + names[i], target_path,file_Type);}}} public static void fileCopyByBufferStreamArray(String srcFile,String targetFile) {// Write files mit Kenntnis der Streams -Datei = Neue Datei (SRCFile); Dateidatei1 = neue Datei (TargetFile); FileInputStream fis = null; FileOutputStream fos = null; bufferedInputStream Bis = null; bufferedOutputstream bos = null; try {fis = new FileInputStream (Datei); BufferedInputStream (fis); bos = neuer bufferedoutputStream (fos); int len = 0; byte [] b = neues byte [10]; while ((len = Bis.read (b))! {fis.close (); fos.close (); Bis.close (); bos.close ();} catch (ioException e) {}}}} Dateikopie Retraktionskurs:
package guuze;import java.io.File;public class RemoveTargetFile {public static void startDelete(String path) {File file = new File(path);deleteFile(file);}private static void deleteFile(File file) {// Remember not to delete the folder of the path if (file.exists()) {if (file.isFile()) {// It is a file, Datei löschen. für (int i = 0; i <files.length; i ++) {// Wenn es sich nicht um eine Datei handelt, iterieren Sie DeleteFile (Dateien [i]);}}}}}Das obige ist die Umbenennung und Stapelextraktion von Java -Dateien von bestimmten Dateien -Arten, die vom Editor eingeführt wurden. Ich hoffe, es wird für alle hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird allen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!