|
|
|
NIO Копирование файла несколькими частями
|
|||
|---|---|---|---|
|
#18+
Ребят, помогите пож-ста написать или подсказать примером, необходимо скопировать файл одновременно несколькими потоками, чтоб каждый поток вычитывал свой кусок, например длину файла/5 и чтоб его копировало в 5 потоков и потом эти 5 частей сохранить обратно в файл ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 21:08 |
|
||
|
NIO Копирование файла несколькими частями
|
|||
|---|---|---|---|
|
#18+
seshи потом эти 5 частей сохранить обратно в файл Непонятно. Нужно создать file1, file2....file5 и "потом" их склеивать. К сведению, операция "склейки" может нивелировать весь полезный эффект от 5-поточного копирования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2015, 08:39 |
|
||
|
NIO Копирование файла несколькими частями
|
|||
|---|---|---|---|
|
#18+
maytonseshи потом эти 5 частей сохранить обратно в файл Непонятно. Нужно создать file1, file2....file5 и "потом" их склеивать. К сведению, операция "склейки" может нивелировать весь полезный эффект от 5-поточного копирования. М...а почему...может нивилировать...я так понимаю в один Stream вливается другой и т.д. до пятого. Операция вроде не совсем ресурсоёмкая....или я что-то не учёл? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2015, 08:44 |
|
||
|
NIO Копирование файла несколькими частями
|
|||
|---|---|---|---|
|
#18+
вообще чтение файла в потоках приведет только к замедлению процесса чтения с диска(lдаже ssd) поэтому эту задачу можно рассматривать только как учебную. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2015, 08:59 |
|
||
|
NIO Копирование файла несколькими частями
|
|||
|---|---|---|---|
|
#18+
Если диск является типа RAID-0 то возможны условия когда будет прирост в скорости копирования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2015, 09:09 |
|
||
|
NIO Копирование файла несколькими частями
|
|||
|---|---|---|---|
|
#18+
sesh, Можно через MappedByteBuffer, FileChannel.map(FileChannel.MapMode mode, long position, long size), position=i*fileSize/5, size=fileSize/5. 5 на чтение, 5 на запись. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2015, 09:34 |
|
||
|
NIO Копирование файла несколькими частями
|
|||
|---|---|---|---|
|
#18+
Будем считать как учебную задачу, надо что-то написать типа даунлоад мастера или торрента, берет файл и бьет его на части, эти части копирует и потом объединяет обратно в 1 файл, это все локально делать, не с нета тянуть, подмогите пож-ста ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2015, 09:34 |
|
||
|
NIO Копирование файла несколькими частями
|
|||
|---|---|---|---|
|
#18+
sesh, "Скопировать файл" и скачать по HTTP/TCP это вообще не одно и то же. Почем обязательно NIO? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2015, 09:37 |
|
||
|
NIO Копирование файла несколькими частями
|
|||
|---|---|---|---|
|
#18+
Blazkowiczsesh, "Скопировать файл" и скачать по HTTP/TCP это вообще не одно и то же. Почем обязательно NIO? NIO не обязательно, главное сделать, читал Шилдта, копировать файл без проблем, в потоке тоже, а как частями - ума не приложу как писать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2015, 10:35 |
|
||
|
NIO Копирование файла несколькими частями
|
|||
|---|---|---|---|
|
#18+
seshNIO не обязательно Уже хорошо. seshчитал Шилдта, копировать файл без проблем Вы принципиально игнорируете то что вам пишут? Под "копированием" и "скачиванием по HTTP" обычно имеют ввиду совершенно разные процессы. seshв потоке тоже, а как частями - ума не приложу как писать 1) Научится скачивать файл по HTTP в один поток. 2) Научится читать спеки по HTTP http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html и гуглить примеры по ключевым словам https://www.google.com/search?q=Java http download range 3) Прочитать основы про многопоточность http://docs.oracle.com/javase/tutorial/essential/concurrency/index.html и ExecutorService http://docs.oracle.com/javase/tutorial/essential/concurrency/exinter.html 4) Скомбинировать полученные знания и примеры в единый код. Спрашивать что-то конкретное что вызвало затруднение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2015, 10:56 |
|
||
|
NIO Копирование файла несколькими частями
|
|||
|---|---|---|---|
|
#18+
Я про HTTP ничего не писал, просто копирование диска на диск в несколько частей в разных потоках, этого достаточно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2015, 11:25 |
|
||
|
NIO Копирование файла несколькими частями
|
|||
|---|---|---|---|
|
#18+
seshЯ про HTTP ничего не писал, просто копирование диска на диск в несколько частей в разных потоках, этого достаточно Извините. Не внимательно прочитал предыдущее сообщение. Ну, собственно, тогда убираем всё что касается HTTP. Используем RandomAccessFile. Что конкретно вызывает затруднение? Многопоточная запись или что-то ещё? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2015, 11:59 |
|
||
|
NIO Копирование файла несколькими частями
|
|||
|---|---|---|---|
|
#18+
BlazkowiczseshЯ про HTTP ничего не писал, просто копирование диска на диск в несколько частей в разных потоках, этого достаточно Извините. Не внимательно прочитал предыдущее сообщение. Ну, собственно, тогда убираем всё что касается HTTP. Используем RandomAccessFile. Что конкретно вызывает затруднение? Многопоточная запись или что-то ещё? Пример нашел про чтение файла http://devcolibri.com/2989 многопоточность тоже http://habrahabr.ru/post/116363/ но вот как в поток передавать с какого символа читать файл? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2015, 12:11 |
|
||
|
NIO Копирование файла несколькими частями
|
|||
|---|---|---|---|
|
#18+
sesh, Код: java 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2015, 12:17 |
|
||
|
NIO Копирование файла несколькими частями
|
|||
|---|---|---|---|
|
#18+
Blazkowiczsesh, Код: java 1. Спасибо огромное за помощь!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2015, 13:09 |
|
||
|
NIO Копирование файла несколькими частями
|
|||
|---|---|---|---|
|
#18+
seshСпасибо огромное за помощь!!! И даже не спросишь что такое FilePartCopyTask ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2015, 13:13 |
|
||
|
NIO Копирование файла несколькими частями
|
|||
|---|---|---|---|
|
#18+
sesh, Если будете использовать http://devcolibri.com/2989, то RandomAccessFile не является потокобезопасным, в отличии от FileChannel из RandomAccessFile.getChannel() и методов FileChannel.transfer...(которые внутри используют MappedByteBuffer). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2015, 14:11 |
|
||
|
NIO Копирование файла несколькими частями
|
|||
|---|---|---|---|
|
#18+
maytonseshСпасибо огромное за помощь!!! И даже не спросишь что такое FilePartCopyTask ? Думал что-то стандартное, нагуглю, а не тут то было, а что это? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2015, 14:16 |
|
||
|
NIO Копирование файла несколькими частями
|
|||
|---|---|---|---|
|
#18+
seshДумал что-то стандартное, нагуглю, а не тут то было, а что это? рукалицо. Это ваш класс, который реализует копирование части файла. Вопрос был в том как передать параметры? Через аргументы конструктора, например. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2015, 14:31 |
|
||
|
NIO Копирование файла несколькими частями
|
|||
|---|---|---|---|
|
#18+
BlazkowiczЭто ваш класс, который реализует копирование части файла. Вопрос был в том как передать параметры? Через аргументы конструктора, например. тю, так выше же показано, что как аргументы передаются, наверное майтон что-то другое имел ввиду ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2015, 14:55 |
|
||
|
NIO Копирование файла несколькими частями
|
|||
|---|---|---|---|
|
#18+
rema174, Не знаю че там где показано. ТС спросил, я ответил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2015, 15:23 |
|
||
|
NIO Копирование файла несколькими частями
|
|||
|---|---|---|---|
|
#18+
seshmaytonпропущено... И даже не спросишь что такое FilePartCopyTask ? Думал что-то стандартное, нагуглю, а не тут то было, а что это? Блажкович концептуален и совершенно правилен. Но его ответ - это ответ математика - "Вы находитесь в корзине воздушного шара..." из известного анекдота. А тебе предлагаю запостить в форум заготовку. Или макет который хотя-бы на 10% работает. Ну и компилируется естественно. Сообщество поможет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2015, 15:27 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38915953&tid=2125653]: |
0ms |
get settings: |
6ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
150ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
69ms |
get tp. blocked users: |
1ms |
| others: | 223ms |
| total: | 484ms |

| 0 / 0 |
