Java копировать файл принудительно - PullRequest
0 голосов
/ 25 ноября 2011

У меня есть метод для копирования файлов:

private static void copy(final String source, final String destination) {
    try {
        final File f1 = new File(source);
        final File f2 = new File(destination);
        final InputStream in = new FileInputStream(f1);
        final OutputStream out = new FileOutputStream(f2);
        final byte[] buf = new byte[1024];
        int len;
        while ((len = in.read(buf)) > 0) {
            out.write(buf, 0, len);
        }
        in.close();
        out.close();
    } catch (final FileNotFoundException ignored) {
    } catch (final IOException ignored) {}
}

Есть ли способ переопределить ошибку «Отказано в доступе» при копировании в каталог?

ПРИМЕЧАНИЕ: я толькоэто нужно для компьютеров Windows.

Ответы [ 3 ]

3 голосов
/ 25 ноября 2011

Нет.Если вы работаете в UNIX, потребуется запуск программы от имени пользователя с правами записи в каталог.Просто любопытно, почему вы хотите переопределить разрешения файловой системы?Почему бы просто не использовать соответствующие разрешения?

0 голосов
/ 13 марта 2015
public static void copyFile(File source, File dest) throws IOException {
    FileChannel inputChannel = null;
    FileChannel outputChannel = null;

    try {
        inputChannel = new FileInputStream(source).getChannel();
        outputChannel = new FileOutputStream(dest).getChannel();
        outputChannel.transferFrom(inputChannel, 0, inputChannel.size());
    } finally {
        inputChannel.close();
        outputChannel.close();
    }
}
0 голосов
/ 25 ноября 2011

perm = new java.io.FilePermission ("/ tmp / abc.txt", "read");надеюсь, что это ответит на ваш вопрос

http://docs.oracle.com/javase/7/docs/technotes/guides/security/permissions.html

...