Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Как скопировать файл в новый файл с другим именем? Конечно, если файл небольшой, его можно скопировать вполне тривиальным методом: вначале прочитать в массив байт, а затем записать под другим именем с помощью методов из предыдущего раздела. Но для многомегабайтных или гигабайтных файлов такой подход непригоден.
Очевидный путь решения задачи – последовательно читать файл небольшими блоками и записывать их в другой файл.
Вот предлагаемый текст решения:
public static void copyFile(
String source, String target)
throws IOException
{
copyFile(new File(source),new File(target));
}
public static void copyFile(
File source, File target)
throws IOException
{
RandomAccessFile input=
new RandomAccessFile(source,"r");
RandomAccessFile output=
new RandomAccessFile(target,"rw");
try {
byte[] buf = new byte[65536];
long len= input.length();
output.setLength(len);
int bytesRead;
while ((bytesRead=
input.read(buf,0,buf.length))>0)
output.write(buf,0,bytesRead);
} catch (IOException e) {
try {input.close();} catch (Exception e1) {};