Minull on seuraavan lainen tiedostojen kopiointi. Se ei vaan kopioi kuvia oikein. Miten sitä pitäisi muuttaa?
private void copyFile() {
if(input == null || output == null)
return;
try {
String name = input.getName();
File file = new File(output, name);
System.out.println("file = " file.getPath());
if(!file.exists())
file.createNewFile();
BufferedReader br = new BufferedReader(
new InputStreamReader(
new FileInputStream(input)));
BufferedWriter bw = new BufferedWriter(
new OutputStreamWriter(
new FileOutputStream(file)));
String line;
while((line = br.readLine()) != null) {
bw.write(line, 0, line.length());
bw.newLine();
}
br.close();
bw.close();
} catch (IOException e) {
System.err.println("Exception occured:");
System.out.println(e.getMessage());
}
System.out.println("Copying done");
System.exit(0);
}
Kopiointi
4
597
Vastaukset
- ddddssasd
Sinun pitää käsitellä tiedostoja binäärimuodossa jos haluat että muutkin kuin tekstitiedostot toimivat.
En ole java guru mutta uskoakseni "binäärivirta" tai "tavuvirta" taitaa olla suomenkielinen termi, jolla löydät tähän liittyvää asiaa suomeksi.- Javakko
Jep. BufferedReader ja BufferedWriter on tarkoitettu tekstiä varten. Kuvatiedostot menee tuossa operaatiossa varmasti rikki.
Periaatteessa voit käyttää suoraan tuota FileInputStream luokan read() metodia tavujen lukemiseen ja FileOutputStream luokan write() metodia sen luetun tavun kirjoittamiseen. Ja saman teet tiedoston kaikille tavuille (file.length() kertoo alkuperäisen tiedoston pituuden).
Tehoton tapa, mutta pitäisi toimia. - srthstr
Javakko kirjoitti:
Jep. BufferedReader ja BufferedWriter on tarkoitettu tekstiä varten. Kuvatiedostot menee tuossa operaatiossa varmasti rikki.
Periaatteessa voit käyttää suoraan tuota FileInputStream luokan read() metodia tavujen lukemiseen ja FileOutputStream luokan write() metodia sen luetun tavun kirjoittamiseen. Ja saman teet tiedoston kaikille tavuille (file.length() kertoo alkuperäisen tiedoston pituuden).
Tehoton tapa, mutta pitäisi toimia.Ei BufferedReader ole rajoitettu mitenkään virran sisällön suhteen. Ainoa vika tuossa koodissa oli se, että siinä käytettiin readLine-metodia, kun olisi pitänyt käyttää read-metodia. readLine lukee nimensä mukaisesti rivin, eikä kuvissa ole rivejä.
- Javakko
srthstr kirjoitti:
Ei BufferedReader ole rajoitettu mitenkään virran sisällön suhteen. Ainoa vika tuossa koodissa oli se, että siinä käytettiin readLine-metodia, kun olisi pitänyt käyttää read-metodia. readLine lukee nimensä mukaisesti rivin, eikä kuvissa ole rivejä.
BufferedReaderin Javadoc-kuvaus alkaa "Reads text from a character-input stream" ja read() metodi sanoo "Reads a single character". Tuo kyllä kuulostaa kovin tekstilähtöiseltä, en suosittelisi tuota käyttämään minkä tahansa tavuvirran lukemiseen.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Orpo räyhää: kansan on muututtava
Orpon mukaan kansa ei elä kokoomuksen kanssa samassa todellisuudessa, ja sen vuoksi kansan on muututtava. Kas kun ei san2773454Muovikassikartelli
Kauppaketjut ovat yhdessä sopineet muovikassin yksikköhinnaksi 59 senttiä. Milloin viranomaiset puuttuvat tähän kartell211903Aidon persun tunnistaa Marinin palvonnasta
Oli kyse sitten Halla-ahosta tai Putinista. Ensimmäisenä aidolle persulle tulee mieleen Marin.301561- 841441
- 1381083
- 811034
Hallintooikeus..
"Asemakaavapäätös pysyy voimassa.Poikkeamista ja rakentamista koskevat luvat hylättiin" kertoo Pyhäjärven Sanomat netti.67993Olen rakastunut
varattuun joka ei eroa. Miten tunteista eroon? Tämä ei ole tavanomaista. On elämäni suuri rakkaus.89858Jos se joskus oli molemminpuolista
niin hyvin me molemmat onnistuttiin pitämään toinen epätietoisena.61727Laita nyt se viesti
Tiedän että haluat tavata. Kirjoitat, pyyhit, kirjoitat... Lähetä se viesti 😗51716