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
581
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
Eroa Orpo! Orpo eroa!
Suomen kansa vaatii viimein ottamaan meidät huomioon, eikä vain ulkomaalaisia pääomasijoittajia. Koska täällä Suomessa1843089SDP esti Suomen luisumisen kohti 1984 Orwell -yhteiskuntaa
Äärioikeistohallitus olisi halunnut Stasin tapaan mikrofonit jokaisen kansalaisen kotiin, mutta SDP esti tuon siirtymän681948Naiset ei halua kilttejä miehiä
Näin se vaan on..jos olet ilman tatskoja, et rähjää, sinulla ei ole rikosrekisteriä, olet liian kiltti, et sano pahasti,3091926Odottavan aika on pitkä, Lindtmanin hallitusta tule jo!
Eilisen perusteella nykyinen hallitus epäonnistui kaikissa vaalilupauksissaan, joten olemme ansainneet uudet eduskuntava1081891Wille Rydman (ps) osoitti olevansa kommunisti
Hän toistaa Neuvostoliiton virhettä. Haluaa pitää palveula yllä maksoi mitä maksoi, vaikkei ole maksavia asiakkaita. --251711Ainoastaan 10 aloitusta ekasivulla yhdeltä henkilöltä
Kovasti on vaivaa, ei oo muuta tekemistä tällä henkilöllä päivisin ja öisin... Taas märehtimistä ja samaa jankutusta.301570Riikan vappumiljardin maksavat sairaat, vanhukset ja kuolleiden omaiset
Vappumiljardi, eli Riikan päätös laskea yhteisöveroa kaksi prosenttiyksikköä 18 prosenttiin, vie verotuloja noin miljard11565Seiska: Helmi Loukasmäki paljastaa - Näin Danny ja Helmi tapasivat
Helmi Loukasmäki, 25, ja Ilkka Danny Lipsanen, 83, ovat seurattuja julkkiksia. Mutta tiesitkö, miten he tapasivat? Lue291402Menettämisestä
Ajatteletko, että olet menettänyt mahdollisuutesi häneen? Osaatko sanoa miksi niin tapahtui?1181273Kiinteistökauppoja
Onko totta ettö haapaveden kaupunki on ostanut vanhan kesoilin kiinteistön? Kuulemma siihen muuttaa autokorjaamo vanhan411142