Loading...
kokibg3 avatar kokibg3 12 Точки

Проблем задача No5 "Copy .jpg File" Java Streams Homework

Някой би ли могъл да ми каже кое не ми е на ред.Програмата се изпълнява не хвърля exception, но не прави копие.Дебъгнах и нищо пак не забелязвам.

Пробвах и по стария начин без try resources ,като накрая flush-нах out.И пак нищо.

кода

Тагове:
0
Java Advanced 20/03/2016 12:36:46
Ivanov.Ivan avatar Ivanov.Ivan Trainer 558 Точки

Пробвай леки корекции в While - а 
Примерно:
 

int bytesRead;
while ((bytesRead= in.read()) != -1){
    out.write(bytesRead);
}

Другите неща са ти излишни  - масиви, буфери и т.н.:)

Успех

0
d.viktorov avatar d.viktorov 2 Точки

Мисля, че си на прав път, понеже в условието е посочено да се използват FileInputStream, FileOutputStream, и byte[] buffer. Наистина трябва малко да промениш "while" цикъла на нещо подобно:

byte[] buffer = new byte[1024];
int bytesRead = 0;
while (( bytesRead  = fis.read(buffer)) != -1){
    out.write(buffer, 0 ,  bytesRead);
}

Това е всичко. :)

1
25/03/2016 10:28:04
Ivailo_Kodov avatar Ivailo_Kodov 97 Точки

Mисля, че при инициализирането в While .. на bytesRead .. трябва да се окаже да прочете buffer масив(който е само от нули).. докато се напълни  и тогава вече да записва. В outputa си остава само битовете.Поне аз така го разбрах и направих. Ето пример:

int bytesRead;

while ((bytesRead= in.read(buffer,0,buffer.length)) != -1){

out.write(bytesRead);

}

0
Ivan_Pashkulev avatar Ivan_Pashkulev 20 Точки

При мен пък кода ти работи перфектно, вече няколко пъти копирах няколко снимки, аудио файлове, всичко:))

0
evilsoldier avatar evilsoldier 2 Точки

И при мен работи. Явно си го оправил :)

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.