Kopiowanie pliku

0

Witam

Znalazłem metodę kopiowania plików:

public void copy(File src, File dst) throws IOException {
    InputStream in = new FileInputStream(src);
    try {
        OutputStream out = new FileOutputStream(dst);
        try {
            // Transfer bytes from in to out
            byte[] buf = new byte[1024];
            int len;
            while ((len = in.read(buf)) > 0) {
                out.write(buf, 0, len);
            }
        } finally {
            out.close();
        }
    } finally {
        in.close();
    }
}

i teraz mam kłopot się do tego odnieść bo co nie robię to wyrzuca błąd:
Error:(171, 14) error: unreported exception IOException; must be caught or declared to be thrown

próbowałem w ten sposób:
File src = new File("C:\aa.txt");
File dst = new File("D:\bb.txt");
copy (src,dst);

co robię źle?

0

Brakuje Ci bloku

catch
0

Funkcja jest poprawna, pytanie brzmi jak wywołać funkcję z poprawnymi parametrami bo błąd jest w wywołaniu czyli tu:

File src = new File("C:\aa.txt");
File dst = new File("D:\bb.txt");
copy (src,dst);
1
File src = new File("C:\\aa.txt");
File dst = new File("D:\\bb.txt");
 try {
    copy(src,dst);
} catch (IOException e) {
    e.printStackTrace();
}   	

Możesz zrobić coś takiego, teraz zauważyłem, że masz w sygnaturze metody throws

Ewentualnie do kopiowania możesz użyć (Java 7):

import static java.nio.file.StandardCopyOption.*;
Files.copy(source, target, REPLACE_EXISTING);

1 użytkowników online, w tym zalogowanych: 0, gości: 1