Dateiliste verarbeiten

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Sobald eine Datei in ein Verzeichnis steht soll diese verarbeitet werden.
In Methode A möchte ich die Dateiliste einlesen und in Methode B die Datei dann verarbeiten.


Code:
files = directory.listFiles();
 

mic_checker

Top Contributor
Möchtest du ein Verzeichnis "überwachen" , d.h. gucken ob neue Dateien hinzukommen, gelöscht wurden etc. ?

Oder möchtest du einfach in einer Methode das Verzeichnis einlesen und dann in einer anderen Methode mit dem Verzeichnis arbeiten ?

Spezifizier mal die Frage - meine letzte Version von JProphet ist schon stark veraltet :roll:
 
G

Guest

Gast
es funktioniert nicht...


Code:
public class nameclass
...
public static File[] files; 


  public methodA() {
files = directory.listFiles();
[/code]
 

mic_checker

Top Contributor
Achso...wenn das so ist....diese Angabe hilft natürlich ungemein weiter :roll:

1) Was willst du ?
2) Was funktioniert nicht ?

Wenn der Thread nicht über 10 Seiten gehen soll solltest du mal konkreter werden....
 
G

Guest

Gast
Möchtest du ein Verzeichnis "überwachen" , d.h. gucken ob neue Dateien hinzukommen, gelöscht wurden etc. ?

Oder möchtest du einfach in einer Methode das Verzeichnis einlesen und dann in einer anderen Methode mit dem Verzeichnis arbeiten ?

Spezifizier mal die Frage - meine letzte Version von JProphet ist schon stark veraltet


Ja, ich möchte ein verzeichnis überwachen. Sobald hier eine neue Datei drin steht, soll diese gelesen werden.
Ich möchte also "nur" mit den Dateien im Verzeichnis weiter arbeiten.
 
G

Guest

Gast
Frage:
Wie bekomme ich die Dateiliste in eine Variable um die Dateien dann weiter verarbeiten zu können :?:
 

hugo

Bekanntes Mitglied
Methode A soll also Verzeichnis auslesen, neue Dateien in einer Liste speichern und ein boolean zurückgeben, ob neue Dateien drin sind.

Methode B soll bei Aufruf sich alle Dateien die durch A gespeichert wurde vornehmen und bearbeiten.

Richtig?

Was funktioniert an listFiles() denn nicht?
 

mic_checker

Top Contributor
Mit listFiles() warst du schon mal richtig.....

Code:
File[] dirList = <deinDirectory>.listFiles();

Danach kannst du das Array durchgehen, wie jedes andere Array. Evtl. kannst du auch eine andere list...Methode verwenden, wenn du z.B. nur best. Dateitypen auflisten willst.

Guck dazu mal in die API
 
G

Guest

Gast
Was steht genau in <dirList> und was in <File[]> ?


Code:
File[] dirList = <deinDirectory>.listFiles();
 

mic_checker

Top Contributor
In dem File-Array wird der Inhalt deines Verzeichnisses gespeichert, die Methode liefert ja ein File[] zurück.

deinDirectory ist ein Objekt vom Typ File , z.B.

Code:
File deinDirectory = new File(".");

Für das aktuelle Verzeichnis.

Code:
File[] dirList = deinDirectory.listFiles();

Danach kannst du dirList durchgehen:

Code:
for(int i = 0;i < dirList.length;i++) {
//Greife auf die einzelnen Elemente mit dirList[i] zu
}
 
G

Guest

Gast
Danke hat mir schon weiter geholfen aber irgendetwas stimmt wohl mit der Definition nicht...


Code:
public class classname { 

String arrayinno[] = new String [1000]; 
int records;
int idx = 0; 	 
String dirfile, outdir, outfile;
String File[] = new String [10]; 



  public static void main(String[] args) { 

     classname dl = new classname();
     dl.loadArr();
     dl.loadIni();
     dl.PrtDet(); 

  } 

// **************************************************************************
// Monitor Directory 
// **************************************************************************

   public classname() {

// Anfang Monitor

      File directory = new File("WorkDirectory"); 
      
      boolean loopend = false;
      
      while(true)
      { 
        if (!directory.exists()) { 
              
            System.out.println("Das Verzeichnis " + directory.getName() 
            + " existiert nicht!"); 
           } 
       
        else { 
           
           if (directory.isDirectory()) { 
       
                    
              File[] dirList = directory.listFiles(); 
              System.out.println(" DirList: " + dirList + " Array: " + File[0]); 
                 
                 if (dirList.length == 0) { 
                  
                    System.out.println("Das Verzeichnis " + directory.getName() 
                    + " enthaelt keine Dateien!"); 
                    
                    try {
                       Thread.sleep( 60000 );  
                       }
                    catch(InterruptedException inte) { 
                       System.out.println("Fehler bei sleep!");  
                    }               
                 } 
  
                 else {
                 	break; 
                 } // Leave Loop
              
           }	
              
           else { 
           
              System.out.println(directory.getName() 
              + " ist kein Verzeichnis!"); 
           } 
           
           } 
      }
  }
 

mic_checker

Top Contributor
Anonymous hat gesagt.:
Code:
String File[] = new String [10];

Hast du da was falsch verstanden oder ist das Absicht ? Es gibt nen Unterschied zwischen nem File Array (File[]) und nem String Array (String[]). Es gibt auch eine list Methode die String[] zurückgibt, guck in die API....falls du das willst.

Klassennamen schreibt man groß....den Rest hab ich mir nicht mehr angeguckt.
 
G

Guest

Gast
Vielen Dank :lol:

Anbei die Lösung


Code:
import java.io.*; 

// ************************************************************************** 
// Definition class
// **************************************************************************

public class Monitor { 

// ************************************************************************** 
// Main
// **************************************************************************

   public static void main(String[] args) { 

      Monitor dl = new Monitor();
   } 


// **************************************************************************
// Monitor Directory 
// **************************************************************************

   public Monitor() {
   
   File directory = new File("Dein_Directory"); 
       
           if (directory.isDirectory()) { 
       
              File[] dirList = directory.listFiles(); 
              
              for(int i = 0;i < dirList.length;i++) { 
              //Greife auf die einzelnen Elemente mit dirList[i] zu 
              System.out.println("File: " + dirList[i]); 
              
              } 
           }	
              
           else { 
           
              System.out.println(directory.getName() 
              + " ist kein Verzeichnis!"); 
              } 
   } 
}

Dein_Directory = ein Unterverzeichnis im aktuellen Verzeichnis
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
MiMa Rekursive Dateiliste erstellen mit Dateiendung(en) ?? Java Basics - Anfänger-Themen 4
D Input/Output Verständnisfrage Verzeichnis-/Dateiliste erstellen & Dateikonvertierung Java Basics - Anfänger-Themen 1
T 3D Objekte verarbeiten Java Basics - Anfänger-Themen 2
A CSV-Datei Verarbeiten Java Basics - Anfänger-Themen 8
D Events verarbeiten Java Basics - Anfänger-Themen 1
J CSV-Datei verarbeiten Java Basics - Anfänger-Themen 27
A Verarbeiten einer Excel Datei durch das java-Programm Java Basics - Anfänger-Themen 3
S Datein auslesen und verarbeiten Java Basics - Anfänger-Themen 1
R txt Einlesen und Verarbeiten Java Basics - Anfänger-Themen 15
M Erste Schritte CSV-File einlesen und Daten verarbeiten Java Basics - Anfänger-Themen 5
G csv datei verarbeiten Java Basics - Anfänger-Themen 18
Z Textdateien einlesen und verarbeiten Java Basics - Anfänger-Themen 3
V Excel Datei einlesen und verarbeiten Java Basics - Anfänger-Themen 4
J CSV Datei einlesen und verarbeiten Java Basics - Anfänger-Themen 10
A Auslesen, verarbeiten und ausgeben Java Basics - Anfänger-Themen 22
B große jpeg verarbeiten Java Basics - Anfänger-Themen 8
H Daten einlesen und verarbeiten Java Basics - Anfänger-Themen 4
M Datentypen Strings nach Muster auslesen und verarbeiten Java Basics - Anfänger-Themen 5
D CSV Datei einlesen und verarbeiten Java Basics - Anfänger-Themen 23
N Fragen zu String durchsuchen und verarbeiten Java Basics - Anfänger-Themen 23
D Eingelesene Datei verarbeiten Java Basics - Anfänger-Themen 11
R Daten aus Datenbank lesen, verarbeiten und schreiben. Java Basics - Anfänger-Themen 1
C Problem mit Lesen und Speichern und Verarbeiten von großen Text Dateien Java Basics - Anfänger-Themen 5
G Gleichzeitiges Verarbeiten von Variablen 2er Obj. selber Kl. Java Basics - Anfänger-Themen 5
S utf-8 codierte Strings verarbeiten Java Basics - Anfänger-Themen 2
X mehrere Dateien lesen/verarbeiten Java Basics - Anfänger-Themen 3
A Textfile verarbeiten. Java Basics - Anfänger-Themen 15
G setValueAt Rückgabewert verarbeiten? Java Basics - Anfänger-Themen 12
M Letzte Zeille einer Datei verarbeiten Java Basics - Anfänger-Themen 3
T longs binär verarbeiten Java Basics - Anfänger-Themen 4
G dateien verarbeiten Java Basics - Anfänger-Themen 7
zilti String verarbeiten Java Basics - Anfänger-Themen 4
M HTML Seite die Daten in JavaApplet dynamisch verarbeiten Java Basics - Anfänger-Themen 2
G Gleiche Aktionen verarbeiten (aber nur einmal Code)? Java Basics - Anfänger-Themen 2
T Bei Struts Beans updaten ohne ein Request zu verarbeiten Java Basics - Anfänger-Themen 4
M Daten eingeben und verarbeiten Java Basics - Anfänger-Themen 8
C Html-Seite aus dem Internet verarbeiten Java Basics - Anfänger-Themen 10

Ähnliche Java Themen


Oben