Toon posts:

[java] groote bepalen van ingelezen stream

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hey all,

Ik ben beetje met java aan het stuntelen en wil een file downloaden dmv een applet en dan bekijken hoe groot die file is. (achteraf, maar het liefst vooraf)

Nu heb ik dus al wel dat ie de file inleest dmv BufferedReader en InputStreamReader
Maar hoe kan ik daarvan de groote bepalen?

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Als je gewoon een File object aanmaakt kan je gewoon file.Size() gebruiken

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Verwijderd

Topicstarter
euhm jah....

En hoe fix ik die inhoud van die inputstream uit bufferedreader dan in die file object ?

  • Tomatrix
  • Registratie: Juni 1999
  • Laatst online: 27-02-2025
gewoon de method getContentLength uit de klasse URLConnection in het java.net package gebruiken.

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 12-09 21:31

Janoz

Moderator Devschuur®

!litemod

Dat met dat file object is eigenlijk een beetje onzin...

Je kunt wel bijhouden hoeveel bytes je met de inputreader gelezen hebt (Gewoon met een tellertje). Je kunt van te voren achter niet weten hoe groot het bestand is, aangezien je client niet zomaar kan weten hoeveel data er nog door de verbinding gestuurd wordt. Je kunt waarschijnlijk beter van te voren communiceren over de grootte van het bestand voordat je het overstuurt. Heb je de server niet in de hand, dan zul je een andere oplossing moeten verzinnen..

Trouwens.. Waarom download je met een applet? Er kunnen natuurlijk een heleboel nuttige toepassingen voor zijn, maar bedenk je wel dat er behoorlijk wat security restricties opzitten die de toepassing die jij bedacht hebt mischien wel onmogelijk maken...

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Topicstarter
ow zal even uitleggen wat ik aan het doen ben.
Ben beetje bezig met java leren en ben bezig een appletje te schrijven wat de verbindings-snelheid moet bepalen :)

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 12-09 21:31

Janoz

Moderator Devschuur®

!litemod

Owh, als je de verbindings snelheid gaat bepalen, kun je het beste een bekende hoeveelheid data oversturen. Door te tellen hoeveel bytes je daarvan al gelezen hebt kun je een percentage neerzetten.

Je hoeft nieteens met bestanden te werken. Je kunt gewoon een request naar de server sturen waarin je aangeeft dat je xxx bytes wil ontvangen, en dat de server vervolgens xxx bytes random data de socket ingooit (Hou het wel random, want als je allemaal 0-en over gaat sturen kan het best zijn dat er ergens enige vorm van compressie gebruikt wordt. Random data is theoretisch niet te comprimeren :) )

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Topicstarter
edit:
oeps, back-button probleempje
:)

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Ow bedoel je het zo. Ik dacht dat je al een bestand had dan kan je wel makkelijk een file object aanmaken. Voor dit doel kan je inderdaad het best gewoon random bytes versturen en dan tellen hoelang je over een x aantal bytes doet en dan heb je de snelheid

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”

Pagina: 1