Java, копирование файла в jre - PullRequest
0 голосов
/ 19 января 2010

Я пытаюсь создать небольшое приложение, которое будет копировать некоторые файлы .jar в последнюю версию jre.

Есть ли способ узнать, что это за путь? Я посмотрел на класс File и нашел несколько методов, которые создадут пустой файл, но я не нашел ничего, что помогло бы мне скопировать файл по указанному пути.

Я пропускаю какой-нибудь важный класс?

Спасибо

Ответы [ 2 ]

2 голосов
/ 20 января 2010

Для копирования файлов вы можете использовать класс java.nio.channels.FileChannel из библиотеки nio.пакет.

Например:

// Create channel for the source
FileChannel srcChannel = new FileInputStream("srcFileLocation").getChannel();

// Create channel for the destination
FileChannel dstChannel = new FileOutputStream("dstFileLocation").getChannel();

// Copy file contents from source to destination
dstChannel.transferFrom(srcChannel, 0, srcChannel.size());

// Close the channels
srcChannel.close();
dstChannel.close();
1 голос
/ 20 января 2010

Во-первых, нет вспомогательного метода для копирования файла до Java 7 (еще не выпущен). Во-вторых, нежелательно пытаться копировать в каталог JRE, потому что у вас может не быть достаточных разрешений. Чтобы найти местоположение JRE, используйте System.getProperty ("java.home") Для копирования:

byte[] buffer = new byte[16384];
InputStream in = new FileInputStream(src);
OutputStream out = new FileOutputStream(dst);
while (true) {
int n = in.read(buffer);
if (n == -1)
break;
out.write(buffer, 0, n);
}
in.close();
out.close();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...