Archief - [PROG][JAVA] checken op volledigheid van een file

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

solefly6

Legacy Member
Hey,

momenteel ben ik bezig met een progje dat gaat luisteren op een ftp server directory. Als hier files binnenkomen dan moeten deze verwerkt worden, maar dat kan pas als de files er volledig opstaan.

Is er een bepaalde methode (of workaround) om dat te checken? Ik heb al veel gezocht maar nog niets bruikbaar tegengekomen.

Thx!

killgore

Legacy Member
Ik vind je beschrijving niet super duidelijk. Is het om in een ftp client te integreren, is het een service op je server, ...?

solefly6

Legacy Member
Het is gewoon één klasse die op een server staat. Die klasse moet connectie maken met een FTP server en daarop een directory controleren of er files inzitten en of er bijkomen.

Als dat het geval is dan moeten die files verwerkt worden. Hoe dit gebeurt is niet van belang. Wat ik gewoon wil checken is, als men files naar die FTP server upload (in de directory waarop ik controleer), wanneer die files volledig geupload zijn, aangezien ze dan pas verwerkt mogen worden. Maar ik vind dus geen methode om dat te doen.

Thx!

Kn0t

Legacy Member
Heb je controle over het systeem dat de files upload? Zoja dan kan je er voor zorgen dat ze bij het uploaden eerst .tmp achter de filename zetten, om vervolgens een rename te doen naar de eigenlijke filename.

Je applicatie die de FTP server checkt op nieuwe files kan dan gewoon de files met .tmp negeren.

CyberOps

Legacy Member
als ik het goed begrijp, weet uw applicatie niet precies welke bestanden er geupload worden? In dat geval kan je mss proberen kijken of het bestand 'open' staat voor schrijven (terwijl het aan het uploaden is). Kheb wel geen idee of dat in Java werkt. tzou kunnen dat die methode enkel werkt als je eigen Java environment met dat bestand bezig is...

killgore

Legacy Member
FTP biedt hiertoe geen mogelijkheid, maar met last-modified zaken en zo zal je wrsch wel iets kunnen vinden.

daigon

Legacy Member
heeft dat ftp programma geen log file? anders kan je die logfile monitoren en kijken wanneer een upload finished is.

blaatschaap

Legacy Member
met sfv bestanden, maar dan moet ge eerst die sfv maken vooraleer iets te uploaden natuurlijk, en eerst die sfv uploaden (priority kan aangepast worden in een fatsoenlijke ftpclient)

misschien is het dan wel beter te checken of je een write kan openen op het bestand zoals cyberops zei, of met last-modified iets proberen maar dat gaat volgens mij nie echt werken als een upload gecanceled wordt/timeout krijgt of whatever, zelfde met die write access dan eigelijk

ik denk dat dit probleem meer situeert in de aanpak dan functioneel in een programmeertaal ofzo
iig, de meeste servers doen het met een checksum (sfv/md5)

Ice

Legacy Member
Als je de client niet kan controleren, kan je msch wel de server controleren.
Veel ftp servers bieden functie om acties te triggeren na een file upload enzo.
Dus dan zou je juist erna een item in logfile kunnen schrijven, of het bestand moven, of het bestand renamen, of ....

solefly6

Legacy Member
bedankt voor alle suggesties, momenteel werkt het door te controleren op de server status, en telkens deze ok is, haalt hij een lijst op van de files die er in zitten. Die verwerkt hij dan in indien geen foutmelding verwijdert hij ze na verwerking.

Thx!
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan