Karolína Vošahlíková wrote:
Ahoj,mám zajímavý problém s kopírováním souboru: Zkoušela jsem několik metod na kopírování souboru (čtení po řádcích, po znacích, bufferování), ale na AIXu je zkopírovaný soubor větší než originál a pak samozřejmě ho nelze použít pro další účely (stejná práce s originálním souborem je úspěšná). A na windowsech jsou všechny tyto metody také funkční.Můžete mi poradit ještě další možnosti kopírování souborů? Díky, Karolína
Chyba mozna je, ze kdyz ctete po radcich, konce radu (\r\n nebo \r nebo \n) nejsou soucasti precteneho radku a pri zapisu je zapomenete dodat, nebo pouzijete line.separator a ten je zrovna jiny od puvodniho oddelovace. Nebo bude chyba v tom cteni po znacich, protoze znak a bajt neni totez, pravdepodobne se na tom AIXu lisi vstupni a vystupni kodovani.
Zkuste to takhle:
import java.io.*;
public class Copy {
static final int BUFSIZE = 1024*64;
public static void main(String args[]) throws IOException {
if(args.length!=2) {
System.err.println("Usage: java Copy <src_file> <dst_file>");
System.exit(1);
}
BufferedInputStream in = new BufferedInputStream(new
FileInputStream(args[0]),BUFSIZE);
BufferedOutputStream out = new BufferedOutputStream(new
FileOutputStream(args[1]),BUFSIZE);
byte[] buffer = new byte[BUFSIZE];
int nacteno;
while((nacteno=in.read(buffer,0,BUFSIZE))>0) {
out.write(buffer,0,nacteno);
}
in.close();
out.close();
}
}
A nebo muzete pouzit nio, pry je rychlejsi, ale nezkousel jsem.
Makub
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Supercomputing Center Brno Martin Kuba
Institute of Computer Science email: [EMAIL PROTECTED]
Masaryk University http://www.ics.muni.cz/~makub/
Botanicka 68a, 60200 Brno, CZ mobil: +420-603-533775
--------------------------------------------------------------
smime.p7s
Description: S/MIME Cryptographic Signature
