Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: johanneskoops am 27.06.11 - 15:15:24

Titel: Java Agent läuft nicht
Beitrag von: johanneskoops am 27.06.11 - 15:15:24
Hallo zusammen,

ich habe einen Notes Agent in Java (für einen Server) geschrieben der alle Dateien aus dem Verzeichnis "C:\temp\in\" in das Verzeichnis "C:\temp\archiv\" verschieben soll.
Wenn ich bspw. 5 Dateien habe, werden die ersten 4 Dateien sauber verschoben, dagegen wird die letzte nicht verschoben.

Wenn ich das gleiche Programm lokal in Eclipse ausführe, läuft es einwandfrei.

Ausgabngssituation:
1. Alle Verzeichnisse sind vorhanden
2. das Verzeichnis "Archiv" ist leer.
3. im verzeichnis "in" sind Dateien vorhanden
Code
filepathArchiv = "C:\\temp\\Archiv\\";
filepathIn = "C:\\temp\\in\\";

if (new File(filepathArchiv).isDirectory() && new File(filepathIn).isDirectory()) {
				
	File verzeichnis = new File(filepathIn);
	if (verzeichnis.isDirectory()) {
		String[] fileNames = verzeichnis.list();
		
		for (int i = 0; i < fileNames.length; i++) {
			
			File source = new File(filepathIn + fileNames[i]);
			File destination = new File(filepathArchiv + fileNames[i]);
			
			if (!source.renameTo(destination)) {
				System.err.println("Fehler beim Umbenennen der Datei: " + source.getName());
			}
		}
	}
}	

Kann mir dabei jemand helfen ?
Vielen Dank !

Beste Grüße
  Johannes
Titel: Re: Java Agent läuft nicht
Beitrag von: DerAndre am 27.06.11 - 15:25:35
Hi.

Ich gehe mal davon aus, das fileNames.length auch Base 0 ist.

Also dann ist die Bedingung <= und nicht < ( dann fällt der letzte hinten raus )
Titel: Re: Java Agent läuft nicht
Beitrag von: johanneskoops am 27.06.11 - 16:03:20
Das ist gut aber nicht die Lösung... die For-Schleife fässt die Datei an benennt sie aber nicht um....  :(
Titel: Re: Java Agent läuft nicht
Beitrag von: m3 am 27.06.11 - 16:10:33
Existiert das Zielverzeichnis?
Titel: Re: Java Agent läuft nicht
Beitrag von: johanneskoops am 27.06.11 - 16:23:58
Zitat: "1. Alle Verzeichnisse sind vorhanden"
Titel: Re: Java Agent läuft nicht
Beitrag von: m3 am 27.06.11 - 16:42:58
Sicher?
Titel: Re: Java Agent läuft nicht
Beitrag von: johanneskoops am 27.06.11 - 16:46:19
sicher !!!!
Titel: Re: Java Agent läuft nicht
Beitrag von: m3 am 27.06.11 - 16:49:33
Schreibt er die Fehlermeldung beim letzten File oder failed er einfach?
lass Dir mal source und destinatin filenamen ausgeben.

Wenn er Fehlermeldung wirft => bau doch mal ein Try/catch rundherum und fang den konkreten Fehler ab und gib ihn aus.
Titel: Re: Java Agent läuft nicht
Beitrag von: johanneskoops am 27.06.11 - 17:06:02
es gibt keinen Error und er tut es einfach nicht
Titel: Re: Java Agent läuft nicht
Beitrag von: m3 am 27.06.11 - 23:24:04
"Fehler beim Umbenennen der Datei: " wird nicht hinaus geschrieben?

Dann mal try/catch rundherum und entweder mit dem Debugger durchsteppen oder mit System.err.println mal die Zähler & Strings anzeigen lassen, damit Du den Fehler eingrenzen kannst.
Titel: Re: Java Agent läuft nicht
Beitrag von: johanneskoops am 28.06.11 - 09:35:43
Code
if (!source.renameTo(destination)) {
	System.err.println("Fehler beim Umbenennen der Datei: " + source.getName());
}

der obenstehende Code ist meiner meinung nach das Problem.

> Ja, der System Error wird ausgegeben....
Titel: Re: Java Agent läuft nicht
Beitrag von: atbits am 28.06.11 - 10:30:27
Zitat
> Ja, der System Error wird ausgegeben....

Und der wäre?
Titel: Re: Java Agent läuft nicht
Beitrag von: johanneskoops am 28.06.11 - 10:39:29
Fehler beim Umbenennen der Datei: <DATEINAME>
Titel: Re: Java Agent läuft nicht
Beitrag von: atbits am 28.06.11 - 10:43:04
Greift noch ein anderer Prozess auf diese Datei zu?
Wie ist der Dateinamen (ungewöhnliche Sonderzeichen)?

Grüße David
Titel: Re: Java Agent läuft nicht
Beitrag von: johanneskoops am 28.06.11 - 11:02:26
Kein prozess greift darauf zu...
der dateiname besteht aus Zeichen [a-zA-Z0-9]
Titel: Re: Java Agent läuft nicht
Beitrag von: johanneskoops am 29.06.11 - 09:29:51
Erledigt - Bitte Thema schließen
Titel: Re: Java Agent läuft nicht
Beitrag von: ascabg am 29.06.11 - 09:47:51
Hallo,

Und was war letztendlich die Loesung fuer das Problem?
Nachfolgende Fragensteller mit einem aehnlich gelagerten Problem werden es Dir danken.


Andreas
Titel: Re: Java Agent läuft nicht
Beitrag von: ata am 29.06.11 - 14:34:02
... könnte es die Berechtigung des Agenten gewesen sein - rate ich mal ? ???
Titel: Re: Java Agent läuft nicht
Beitrag von: johanneskoops am 01.07.11 - 11:36:46
Das Problem lag nicht an dem Agenten, sondern an einem Anderen der diese Dateien vorher im Zugriff hatte.
Somit hatte der Agent keinen Fehler. Ich habe es jetzt in einen Lotus Script geändert:

Code
Dim directory As String				' Verzeichnis
	Dim allFiles List As String		' alle Dateinamen
	Dim lastFile As String			' letzter Dateiname
	Dim fileName As String			' aktueller Dateiname
		
	directory = "C:/temp/"			' auszulesendes Verzeichnis
		
	fileName = Dir$(directory, 0)		' einlesen der erste Datei
	Do While fileName <> ""			' wiederhole solange der Name nicht ""
	
		allFiles(fileName) = fileName 	' Liste mit allen Dateinamen
		lastfile = fileName		' speicherung der letzten Datei
		
		fileName = Dir$			' holen der nächsten Datei
		If fileName = lastFile Then	' wenn der neue Dateiname dem alten entspricht 
			Exit Do			' -> Schleife beenden
		End If
	Loop
	
	' Auslesen mit ForAll
	ForAll names In allFiles
		' hier kommt der Code mit dem Dateinamen in der Variable 'names' 
	End ForAll