Avatar billede grave Nybegynder
28. februar 2003 - 11:56 Der er 6 kommentarer og
2 løsninger

Filstørrelser i windows.

Jeg er ved at lave en HotFolder,
problemet er at når jeg kopirer filer i windows bliver filstørrelsen sat til den fulde størrelse i det men starter kopieringen, dette bevirker at når jeg laver en:
file.length() "siger" windows at filstørrelsen er fuld størrelse

eks:
jeg har en fil der fylder 100 mb
og kopierer den til min hotfolder

jeg looper og laver en: file.length() hvert second, men bare det at kopireringen er gået i gang "siger" windows at filstørrelsen er 100 mb i min hotfolder, selvom den ikke er færdig med at kopiere..

Hvordan kan jeg kommer ud over dette, eller kan det ikke lade sig gøre ?
Avatar billede grave Nybegynder
28. februar 2003 - 11:58 #1
skal lige siges at kopireringen af filen sker gennem windows commander.
(Det virker selvfølgelig på UNIX...)
Avatar billede arne_v Ekspert
28. februar 2003 - 12:00 #2
Det tror jeg ikke at du kan.

Hvis dit Java program selv skrev filen, så var det jo nemt at følge med
i, men ellers må Java jo bruge den information Windows giver den.
Avatar billede arne_v Ekspert
28. februar 2003 - 12:03 #3
Hvis windows commander tillader at du læser i filen mens den bliver
kopieret *og* du kender indholdet, så kunne du prøve at følge med
ved at teste hvor langt den var kommet med at fylde data i.

Men jeg tror ikke på løsningen.
Avatar billede miknil Nybegynder
28. februar 2003 - 12:06 #4
Når du kopierer en fil starter du med at allokere den nødvendige plads på disksystemet, i dit eks. 100 MB
Avatar billede miknil Nybegynder
28. februar 2003 - 12:08 #5
Eneste mulighed er at lade java programmet om at kopiere filen, og følge med hvor mange datablokke der er overført.
Avatar billede grave Nybegynder
28. februar 2003 - 12:15 #6
Lorte opreativsystem......
Det kan lade sig gøre med Windows Commander. men ellers ikke,
Nogle andre forslag til hvordan man kan checke på om en fil er færdig med at kopire ??
Avatar billede arne_v Ekspert
28. februar 2003 - 12:28 #7
Hvis du ikke skal bruge løbende status, men bare vide om
kopieringen er færdig, så må det kune lade sig gøre.

Muligheder:
  - skriv C/C++ kode som checker om filen er åbnet og kald
    den fra Java via JNI
  - åbn filen for write (men uden faktisk at skrive noget) det
    bør fejle så længe windows commander stadig kopierer og gå godt når
    den er færdig - lidt af et hack, men formentligt det bedste
    i situationen
Avatar billede grave Nybegynder
17. januar 2005 - 15:18 #8
Lukket
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester