Größen Beschränkung bei download oder String?

Status
Nicht offen für weitere Antworten.
L

lurschi

Gast
Hallo zusammen,

sitze gerade ein bisschen vor einem verzwickten Problem.

Habe einen Strut programmiert, der jetzt einen Datei downloaden soll.

Solange die Datei schön klein ist (< 1 MB) ist es kein Problem. Jedoch sobald die Datei 10 MB wird (Normalfall), wird die Datei nur zur Hälfte aus gegeben.

Gibt es hier irgendwelche Größenbeschränkungen? Wie könnte man das umgehen?

Vielen Dank für Euere Hilfe.

gruß
david



Code:
BufferedReader bufReader = new BufferedReader(new FileReader(file.getPath()));
			
while ((sLine = bufReader.readLine()) != null) {
					
response.getWriter().write(sLine + "\n");
				}					
bufReader.close();

response.getWriter().flush();

wo ist hier der Fehler?
 

KSG9|sebastian

Top Contributor
Code:
BufferedReader bufReader = new BufferedReader(new FileReader(file.getPath())); 
          
while ((sLine = bufReader.readLine()) != null) { 
                
response.getWriter().write(sLine + "\n"); 
response.getWriter().flush();
            }                
bufReader.close();

probier es mal so, sonst läuft der Puffer über, da du ihn erst flushst nachdem die datei geschrieben ist![/quote]
 

meez

Top Contributor
Oder gib sie als byte-Stream aus, da kannst du den Puffer selber bestimmen...
Zudem ist es auch perfomanter bei grossen Dateien...


Code:
InputStream in = new FileInputStream(fiile.getPath());
OutputStream out = response.getOutputStream();
byte[] buffer = new byte[1024];

response.setContentTyp("text/plain");
response.setContentLength((file.length()).intValue());

for (int n;(n = in.read(buffer)) != -1;out.write(buffer, 0, n));
 
in.close();
out.close();
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben