Hi,
also ich soll ein Programm schreiben, dass ein Verzeichnis durchsucht dann die Dateien vergleicht ist von einem Dateinamen nur eine .tif Datei vorhanden, soll diese gelöscht werden ist aber zu dem Dateinamen die passende .txt Datei vorhanden mit dem gleichen Namen werden beide beibehalten.
Bin jetzt soweit das ich die Dateien in einer for-Schleife vergleichen will, allerdings zeigt mir Eclipse ständig einen Fehler an, "ArrayName cannot be resolved"
Vielleicht könnt ihr mir sagen wo der Fehler ist ich komm nicht drauf, vielleicht würde ich ihn auch sehen aber irgendwie komm ich im moment nicht weiter.
Danke schonmal im vorraus für die Hilfe.
Sorry für den Threadname ich weiß nicht wie ich ihn sonst nennen soll.
also ich soll ein Programm schreiben, dass ein Verzeichnis durchsucht dann die Dateien vergleicht ist von einem Dateinamen nur eine .tif Datei vorhanden, soll diese gelöscht werden ist aber zu dem Dateinamen die passende .txt Datei vorhanden mit dem gleichen Namen werden beide beibehalten.
Bin jetzt soweit das ich die Dateien in einer for-Schleife vergleichen will, allerdings zeigt mir Eclipse ständig einen Fehler an, "ArrayName cannot be resolved"
Java:
import java.io.File;
import java.io.FileWriter;
import java.io.FileFilter;
import java.io.FilenameFilter;
import java.io.IOException;
public class Test {
public void txtFileList(String txtDir) {
File txt = new File(txtDir);
if (!txt.isDirectory()) {
System.out.println("Kein Verzeichnis gefunden");
return;
}
FilenameFilter txtFilter = new FilenameFilter() {
public boolean accept(File txtDir, String txtName) {
return txtName.endsWith(".TXT");
}
};
String[] txtName = txt.list(txtFilter);
System.out.println("txt Dateien die gefunden wurden:\n ");
for (String name : txtName) {
System.out.println(name);
}
System.out.println("\n\nAnzahl gefundener .txt Dateien: \n"
+ txtName.length);
System.out.println("____________________________________ ");
}
public void tifFileList(String tifDir) {
File tif = new File(tifDir);
if (!tif.isDirectory()) {
System.out.println("Kein Verzeichnis gefunden");
return;
}
FilenameFilter tifFilter = new FilenameFilter() {
public boolean accept(File tif, String tifName) {
return tifName.endsWith(".tif");
}
};
String[] tifName = tif.list(tifFilter);
System.out.println("\n\ntif Dateien die gefunden wurden:\n ");
for (String name : tifName) {
System.out.println(name);
}
System.out.println("\n\nAnzahl gefundener .tif Dateien: \n"
+ tifName.length);
System.out.println("____________________________________ ");
}
public static void main(String[] args) {
Test txtFilter = new Test();
txtFilter
.txtFileList("C:/Testdateien");
Test tifFilter = new Test();
tifFilter
.tifFileList("C:/Testdateien");
try {
// Erstellen einer loeschen.txt,
// in dieser Datei werden alle gelöschten Dateinamen gespeichert
File loeschenFile = new File(
"C:/löschen.txt");
FileWriter loeschenTXT = new FileWriter(loeschenFile);
loeschenTXT.write("Die gelöschten .tif Dateien: ");
loeschenTXT.flush();
// Erstellen einer protokoll.txt,
// in dieser Datei werden alle überprüften Dateinamen gespeichert
File logFile = new File(
"C:/log.txt");
FileWriter logTXT = new FileWriter(logFile);
logTXT.write("Die überprüften Dateien: ");
logTXT.flush();
// Hier komm ich dann nicht weiter
for (int a = 0; a = tifName.length; a++) {
for (int b = 0; b = txtName.length; b++){
if (tifName[a] == txtName[b]){
logTXT.write("\n" + tifName[a] + txtName[b] + "wurden überprüft und passen zusammen" );
break;
} else {
loeschenTXT.write(tifName[a]);
}
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
Vielleicht könnt ihr mir sagen wo der Fehler ist ich komm nicht drauf, vielleicht würde ich ihn auch sehen aber irgendwie komm ich im moment nicht weiter.
Danke schonmal im vorraus für die Hilfe.
Sorry für den Threadname ich weiß nicht wie ich ihn sonst nennen soll.