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



## lurschi (19. Jul 2004)

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




```
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 (19. Jul 2004)

```
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 (19. Jul 2004)

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



```
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();
```


----------

