20. juli 2005 - 12:55Der er
11 kommentarer og 1 løsning
Efterbehandling af uploaded fil
Efter at have uploaded en fil til en temp-fil, vil jeg gerne gemme filen i en database, for så at kunne streame den ud til en jsp-side på et senere tidspunkt. Men egentlig er det irellevant for mit spørgsmål. Jeg har forsøgt mig med følgende:
String fileName = request.getParameter("file"); FileInputStream is = new FileInputStream(fileName); String fileContent = ""; int ch; while ((ch = is.read()) >= 0) fileContent += Integer.toString(ch); is.close();
Og så kommer så mit spørgsmål. Whileløkken tager længere tid at komme igennem, end det tager at uploade filen!!! Det kan da ikke passe. Er det ikke muligt at speede den process op? Så vidt jeg har forstået skal jeg læse filen igennem med FileInputStream (i modsætning til FileReader), da jeg ikke arbejder med textfiler men med binære filer...
Håber nogen har et godt forslag... På forhånd tak.
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
InputStream is = ...; OutputStream os = ...; byte[] b = new byte[10000]; int n; while((n = is.read(b)) >= 0) { os.write(b,0,n); } os.close(); is.close();
ok - du skal ikke skrive til en output stream, men teknikken er stadig den at bruge den read som tager et byte array som argument og returnerer antal læste tegn
Hov... så lige én ting til. De temp-filer der bliver lavet, når man uploader en fil... de bliver også slettet automatisk igen... ikke sandt? Eller skal jeg selv huske at slette dem?
Hmm jeg har netop læst ovenstående og undrer mig lidt. Når jeg læser en xml fil ind gør jeg således
File fil = new File(path + "/" + (String) fileList.get(i)); FileInputStream ind = new FileInputStream(fil); bis = new BufferedInputStream(ind); InputSource is = new InputSource(bis); DOMParser parser = new DOMParser(); parser.parse(is); newDocument = parser.getDocument();
Du bruger jo BufferedInputStream, hvilket hjælper meget.
Derudover har dem som har skrevet parseren sikkert kodet fornuftigt.
Det plejer ikke at være læsning fra fil som er den tunge del af XML parsning.
Synes godt om
Ny brugerNybegynder
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.