[Java] Filechooser

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Dark|pUM4, 26. März 2008 .

Schlagworte:
  1. 26. März 2008
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    Filechooser

    Hallo Leute ...

    1. Frage:

    wie einige sicher wissen, programmiere ich derzeit ein Datensicherungsprogramm.
    Ich habe vor einigen Tagen schonmal eine Anfrage gemacht, leider ist dieses topic jetzt zu.
    Derzeit habe ich zur Sicherung einen Filechooser, da ich aber ein zielverzeichnis angeben muss, bräuchte ich auch einen "folderchooser", kann mir damit jemand behilflich sein?
    -------------------------------------------- ende erste Frage

    2. Frage:

    dann bräuchte ich noch hilfe dabei, dass der pfad in ein textfeld ausgegeben wird!
    also ich wähle ein verzeichnis aus (filechooser ist in einer anderen klasse um den überblick zu behalten)

    hier der code zum aufrufen:
    Code:
     filee2.addActionListener(new ActionListener() {
     public void actionPerformed(ActionEvent a) {
    
     //Von der Classe beenden wird die subfunktion importiert!
     file.subfunktion();
    
     
     }
     });
    die klasae file enthält:
    Code:
    
    import java.io.File;
    import javax.swing.*;
    import javax.swing.filechooser.FileFilter;
    
    public class file {
    
     public static void subfunktion(){
    
    
     JFileChooser fc = new JFileChooser();
     fc.setFileFilter( new FileFilter()
     {
     public boolean accept( File f )
     {
     return f.isDirectory() ||
     f.getName().toLowerCase().endsWith( "" );
     }
     public String getDescription()
     {
     return "Texte";
     }
     } );
     int state = fc.showOpenDialog( null );
     if ( state == JFileChooser.APPROVE_OPTION )
     {
     File file = fc.getSelectedFile();
     System.out.println( file.getAbsolutePath() );
     
     }
     else
     System.out.println( "Auswahl abgebrochen" );
     //System.exit( 0 );
    
     }
    
    
     public static void main(String[] args) {
     file file = new file();
     }
    }
    
    design:
    Download: Zwischenablage02.jpg | xup.in

    nun will ih den file.getAbsolutePath() von der klasse file in meine "hauptklasse" importieren und dort in ein textfile schreiben!!! wie geht das?
    -------------------------------------------- ende zweite Frage


    Bitte nicht eine Frage übersehen, wäre cool wenn ihr mir helfen könntet! bW is selbstverständlich

    DANKE
     
  2. 26. März 2008
    AW: Filechooser

    zu Frage 1:

    Du kannst den JFileChooser auch zum Auswählen von Verzeichnissen benutzen.

    JFileChooser.setFileSelectionMode(int selectionMode)
    selectionMode kann dabei:
    * JFileChooser.FILES_ONLY
    * JFileChooser.DIRECTORIES_ONLY
    * JFileChooser.FILES_AND_DIRECTORIES


    zu Frage2:

    Gebe doch den String (file.getAbsolutePath()) zurück.

    public static String subfunktion()

    in der Methode dann am Schluss einfach ein return
     
  3. 26. März 2008
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    AW: Filechooser

    hmm ich versuch das mal

    sry ich komm nicht dahinter =((( das mit dem

    ich weis nicht wie ich das anwenden soll oO

    vll denke ich auch komplett falsch, aber die subunktion ist eine ganze klasse und file ist eine komplett andere datei mom ich upp einen screener!!!

    No File | xup.in
     
  4. 26. März 2008
    AW: Filechooser

    Habe mal die Methode subfunktion abgeändert, so dass man nun auch Verzeichnisse auswählen kann

    Code:
    import java.io.File;
    import javax.swing.*;
    import javax.swing.filechooser.FileFilter;
    
    public static String subfunktion(){
    
     JFileChooser fc = new JFileChooser();
     fc.setFileFilter( new FileFilter()
     {
     public boolean accept( File f )
     {
     return f.isDirectory() ||
     f.getName().toLowerCase().endsWith( "" );
     }
     public String getDescription()
     {
     return "Texte";
     }
     } );
    
     //Hier wird dem JFileChooser mitgeteilt das Verzeichnisse und Datein gewählt werden können
     fc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
    
     int state = fc.showOpenDialog( null );
     if ( state == JFileChooser.APPROVE_OPTION )
     {
     File file = fc.getSelectedFile();
     System.out.println( file.getAbsolutePath() );
     return file.getAbsolutePath();
     }
     else
     System.out.println( "Auswahl abgebrochen" );
    
    }

    Die Methode gibt nun den Pfad zurück, aufrufen kannst du sie so:
    Code:
    filee2.addActionListener(new ActionListener() {
     public void actionPerformed(ActionEvent a) {
    
     //Von der Classe beenden wird die subfunktion importiert!
     String pfad = file.subfunktion();
    
     
     }
     });
     
  5. 27. März 2008
    AW: Filechooser

    na so einach oO tHx maaan ...

    @ Mod, bitte das toppic nicht schließen, da ich diese tipps erst morgen im unterricht ausprobieren kann und ich zu anderen programmteilen sicher auch noch fragen haben werden!!

    danke!
     
  6. 30. März 2008
    AW: Filechooser

    so der erste Teil des Programms läuft jetzt endlich oO

    nun soll ein Komplett neues Java - Programm die Textdatei einlesen und die angegebenen Quellverzeichnisse in ein Zielverzeichnis kopieren!!!
    Ich versuche das Ganze nun mit einem CMD befehel, dieser wird mir aber nict ausgeführt!

    Hier der Code:
    Code:
    /**
     * <p>Überschrift: </p>
     *
     * <p>Beschreibung: </p>
     *
     * <p>Copyright: Copyright (c) 2008</p>
     *
     * <p>Organisation: </p>
     *
     * @author unbekannt
     * @version 1.0
     */
    
    import java.io.*;
    import javax.swing.JOptionPane;
    
    public class dienst {
    
    
     public static void main(String[] args) throws FileNotFoundException,
     IOException {
     File datei = new File("test.txt");
     FileReader leser = new FileReader(datei);
    
     // erzeugen einer Dauerschleife:
    
     for(;;){
     int gelesenInt = leser.read();
    
     // Wenn kein Zeichen mehr zurückgegeben wird (= -1),
     // dann ist das Dateienende ereicht,
     // daher aufhören
     if(gelesenInt == -1){break;} //Wenn das IF zutrifft sollte aus der schleife in die classe COPY gegangen werden!
    
     // ein char wird als integer eingelesen!
     //Daher als char umwandeln
     char gelesenChar = (char) gelesenInt;
    
     //Jedes Zeichen ausgeben
     System.out.print(gelesenChar);
     }
     }
    
     public boolean copy(String tgt, String src) {
     try {
     Runtime run = Runtime.getRuntime();
     String cmd = "cmd /c copy ";
     if (src.indexOf(" ") != -1 && !src.startsWith("\n")) {
     src = "\"" + src + "\"";
     }
     if (tgt.indexOf(" ") != -1 && !tgt.startsWith("\n")) {
     tgt = "\"" + tgt + "\"";
     }
     cmd = cmd + src + " " + tgt;
     run.exec(cmd);
     return true;
     } catch (Exception ex) {
     ex.printStackTrace();
     return false;
     }
     }
    }
    Hier der Aufbau der Textdatei, wichtig sind hier eigentlich nur die Verzeichnisse, die anderen Werte, dazu muss ich mir später noch etwas überlegen! Wäre cool wenn mir nun auch so schnell geholfen werden könnte *fg* als "src enthält die Quellen (das können mehrere Verzeichnisse sein) und "tgt" ist das Ziel!

    Textdatei:
    Code:
    Datum:
    28.03.2008
    Name:
    Meine erste Sicherung
    Ziel:
    
    C:\Dokumente und Einstellungen\pUM4\Eigene Dateien\Eigene Bilder
    C:\Dokumente und Einstellungen\pUM4\Eigene Dateien\Eigene Videos
    Quellen:
    C:\Dokumente und Einstellungen\pUM4\Eigene Dateien\Eigene Bilder
    
    Danke
     
  7. 1. April 2008
    AW: Filechooser

    =( keiner eine ahnung, wie man daten aus einer textdatei verarbeitet?
     
  8. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.