Kopiointi

eikkuli

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);
}

4

611

    Vastaukset 4

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • 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

    1. Haluatko että unohdan sinut kokonaan

      Siihen suuntaan ollaan menossa, nyt jo. Ja ehkä parempi näin, niin ei kulu energiaa hukkaan mahdottomuuteen. Ja vaikka j
      Ikävä
      76
      1099
    2. Millä nimellä

      kutsut kaivattuasi omassa mielessäsi?
      Ikävä
      42
      804
    3. Pisa-tulokset.....

      Tuoreen tutkimuksen mukaan suomalaisten osaaminen on edelleen OECD-maiden keskitasoa parempaa. Kantaväestön oppilaiden
      Maailman menoa
      229
      672
    4. Meinasi nainen mennä pasmat sekaisin

      Rupesin vapisemaan, kun huomasin sinut. Mutta sain sentään juuri ja juuri koottua itseni, etten ihan häpäissyt itseäni.
      Ikävä
      34
      522
    5. Sinulle viestiä

      Me sitten oikeasti tutustutaan ensin!!
      Ikävä
      45
      518
    6. Haapaveden upea kurvikuningatar

      No nyt on kyllä mahtava uutinen että Haapaveden rohkea ja toimelias nainen ja yrittäjä on päässyt finaaliin kurvikuninga
      Haapavesi
      48
      504
    7. Uskaltaisitko ihana nuorempi nainen lähettää

      WhatsApp -viestiä, jos sulla on mun numero. Olisin ihan haltioitunut... Tykkään ja kaipaan ❤️❤️
      Ikävä
      74
      490
    8. Tiedät että on

      Tunteita yhä ja edelleen. Ehkä molemmin puolin.
      Ikävä
      23
      478
    9. Ihan pikku vinkki

      Kannattaa tallentaa kaikki mitä sen naisen kanssa puhuu ettei tule hankaluuksia myöhemmin
      Ikävä
      52
      419
    10. Jos ajattelit että

      Annan anteeksi niin en anna.
      Ikävä
      18
      414
    Aihe