Професионална програма
Loading...
+ Нов въпрос
supersane avatar supersane 234 Точки

Задачките не бяха много трудни, отне ми време да посвикна да имплементирам тези потоци, но след това е лесно. Така, така ама до последната задача. Отне ми наистина доста време докато напиша решението и все пак има недоизпипани работи, въпреки , че работи по малко по-различен начин. Първо не разбрах как работи функцията ъпдейт, защото без пример не разбирам какво се очаква да въведе потребителя и второ данните от хешмаповете ги записвам накрая на програмата в файлове .save и при пускане ги зареждам от същите тях. Това са двете ми съществени разлики от условието.  Няма си кривя душата, задачата ми дойде бая трудна, но аз съм си доволен от написаното си решение. :D Оставям кода тук, ако някой иска да види, за жокерче или просто любопитство. Колега exploitx, имаш много хубаво и подредено решение, по - обхватно от моето, това което виждам, е че юзъра избира от меню опцията, която иска а по - условие той трябва да я въвежда ръчно командата, разделена с тиренца, иначе евала.

ПС: Ето всичките ми решения.

AllCapitals

CopyJpgFile

CountCharacterTypes

CreateZipArchive

CsvDatabase

SaveArrayList

SaveCustomObject

SumLines

0
22/10/2015 15:41:05
djc_bg2015 avatar djc_bg2015 923 Точки

Здравей,

Поздравления за 8 задача, аз само като видях, колко писане ме чкаа и я оставих на заден план :)

 

Иначе млако градивна критика от мен относно решенията на останалите:

- Не ползваш декоратор патърн: http://stackoverflow.com/questions/6366385/decorator-pattern-for-io

- Не ползваш try-with-recources конструкция 

- Пътищата до файловете са пълни, и програмите, никога не биха работили на друг компютър освен твоя

- На 4та задача в условието се казва да се ползва byte[] за буфер, при копирането на файла.

 

Това от мен, споделям и линк към моите решения.

https://github.com/vdonchev/StreamsAndFilesHomework/tree/master/src

Поздрави!

3
antonio_rtodorov avatar antonio_rtodorov 74 Точки

Здравейте,

извинявам се предварително за въпроса, но наистина streamovete са ми много трудни за асимилиране. Върпоса ми е, всъщност кои са функциите, които ползвам за да може един файл да се чете на всеки компютър? Ако имате още по-опростена информация или ресурси за обяснението им ще съм много благодарен.

Поздрави,

Антонио

0
supersane avatar supersane 234 Точки

Един файл, за да се чете и на други компютри не мисля, че трябва специфична функция, ами може би файла да е вътре в проекта в папка res примерно и от конфигурация на build path-a, да маркираш папката като ресурс или нещо от този сорт беше. Като цяло мисълта ми е, че за да четеш файлове на всички компютри файла трябва да се намира в директорията, зададена в сорс кода. Примерно: в моите програми е File("res/imetonafaila.txt"); и ако го експортна от моя комп и го импортна в друг, имам предвид цялата папка, на проекта мисля, че няма да има проблем, докато ако го направиш по следния начин File("C:/ProgramFiles/nqkvapapka/oshtenqkvapapka/tekstche.txt"); ето това мисля, че ще е проблема при други компютри. Май го обясних доста неадекватно...я някой, който е по-навътре да го обясни. :D :D

1
antonio_rtodorov avatar antonio_rtodorov 74 Точки

Чакай сега да видиме дали съм те разбрал правилно. Имам файла "text.txt", който се намира в папка "New Folder". При което цялата директория на моя компютър е "C:\User\Desktop\New Folder\text.txt" естествено ако задам тази директория в моя комп ще се чете, но на друг не. За да не се получава така, задавам директория "\New Folder\text.txt" и така програмата ще търси във всички папки с име "New Folder", които съдържат файла "text.txt" и ще може да се чете от всеки компютър. Ако обяснението ми е правилно и представата, какво става ако имам два еднакви случая на компюъра?

0
22/10/2015 16:15:57
RoYaL avatar RoYaL Trainer 6845 Точки

Пробвай да извикаш flush() след последния write

0
VTeneva avatar VTeneva 30 Точки

Така работи вече! Мерси много!

0
milkopg avatar milkopg 47 Точки

Здравейте,

това е моето домашно към лекция 3.

Problem1SumLines + res

Problem2AllCapitals + res

Problem3CountCharacterTypes + res

Problem4CopyJpgFile + res

Problem5SaveArrayListOfDoubles +res

Problem6SaveCustomObjectInFile* + res

Problem6Course

Problem7CreateZipArchive* + res

Сега работя върху задача 8, ако успея да я завърша в добър за мен вариант ще я кача и нея

0
Simooo93 avatar Simooo93 81 Точки

Здравейте колеги,

ето го и моето домашно от потоците в java. Откъм отваряне на потоци съм се опитал да използвам всякакви варианти, както с ресурси, така и декоративни, също и с обикновено затваряне.

Опитал съм се на места да използвам функционалното програмиране, което предоставя java 8 и супер много ми харесва. 

8 задача беше много интересна и научих много неща правейки я. Надявам се да има такива задачи и за другите домашни.

Files and Streams

1
sholeto avatar sholeto 93 Точки

Падна ми се да проверявам домашна, която е 1 към 1 като тази на автора на темата. Ще копирам това, което написах тук. Понеже на някой може да му е полезно, надявам се:

Един сериозен проблем който забелязвам, пътищата до файловете са хардкоднати. Това ще рече, че на твоята файлова система ще работят, но на друга няма да работят. Сега за да ги стартирам ще трябва да ги редактирам. Нали се досещаш, че при мен директорията няма да е "C:\\Users\\Leet\\IdeaProjects\\Homeworkd Streams and Files\\src\\lines.txt" примерно.

Как може да се заобиколи това за в бъдеще? Правиш си една папка Resources в директорията на проекта, -> десен клик от project explorer-а на Intellij IDEA  -> Mark Directory As -> Resources Root.

После направо може да си зареждаш файловете с "Resources\\linex.txt". Или ако те мързи да правиш ресурсите на отделно, както са навряни всичките в папка src, направо може да се зареждат със "src\linex.txt"

Другото, което ми направи впечатление, е че ексепшъните ги хвърляш нагоре, бих те посъветвал да започнеш да използваш try-with-resources. 

Като цяло всичко постига поставените задачи, виждам че и CSV задачата е направена, което е похвално. Там можеше малко да се подредят нещата по методи, не би ли се съгласил?

Иначе в духа на темата ще си пльосна и моята домашна да я развява вятъра. Всякакви критики са добре дошли: 

https://github.com/sholev/SoftUni/JavaFundamentals/Homework/JavaStreams/src/org/softuni

2
27/10/2015 11:41:18
exploitx avatar exploitx 71 Точки

Явно не си оценил моето домашно(което е едно към едно с това което съм постнал), защото щеше да ми изпише коментара ти.Мерси за съветите въпреки, че вече и други потребители ме посъветваха същите неща.Все пак се радвам, че съм помогнал на някого с домашното.

1
sholeto avatar sholeto 93 Точки

Наистина си помогнал с домашното, само не знам за изпита колко ще му е от полза това. Но това си зависи от самия човек, може просто да няма време за домашни и да е решил направо изпитни задачи да решава. :D

0
27/10/2015 12:49:08
Simooo93 avatar Simooo93 81 Точки

Здравейте колеги,

и аз се сблъсках със същот нещо и останах доста изненадан, когато от 3-те домашни, които проверих 2 бяха едно към едно с моите ... Дори не бяха променени числата в списъка с doubles, нито пък имената на файловете, в които записвам, да не говорим за имена на променливи. Дори да кажем, че в другите 6-7 задачи може да има съвпадение 8-ма няма как да не си я позная, защото доста съм се постарал за нея, а беше копирана едно към едно. Не, че ми е някакъв проблем, но както им писах и на тях идеята да си слагаме домашните тук е да обсъждаме кой какви грешки е направил, ако пък не можеш да решиш някоя задача да бъде помогнато, но определено идеята не е да се копира цялото домашно на готово. Като толкова им е харесало моето домашно можеше поне едно харесване да сложат :D 

4
alex.mitev avatar alex.mitev 20 Точки

Здравейте, исках да Ви питам, дали някой е направил задача номер 3 с Regex. Аз се опитах, като в една група хващам гласните в другата съгласните, но нещо не мога да го направя да работи.

http://pastebin.com/tiR52Czp

0
AntonPortenov avatar AntonPortenov 102 Точки

Здравей колега, ето ргексите, като съм използвал pattern i matcher

 vowels += count(line,"[aeiou]");
                consonants += count(line,"[wrtpsdfghyjklzxcvbnm]");
                punctuation += count(line,"[^a-zA-Z0-9\\s]");

0
alex.mitev avatar alex.mitev 20 Точки

Благодаря, аз го оправих - грешката ми беше в групите.

 

0
alexei.tcekov avatar alexei.tcekov 33 Точки

Здравейте .... Едно решение на 8-ма задачка и от мен ... малко дълго стано, но си ми харесва :P .

https://gist.github.com/alexeitcekov/f5ba20818cd3cbe67680

0
Pafo37 avatar Pafo37 21 Точки

Здравей, може ли да ми обясниш защо условието на while цикъла ти е различно от -1  на 3-та задача?

while((symbol = fis.read())!=-1)

0
26/03/2016 14:51:54
exploitx avatar exploitx 71 Точки

Най-вероятно защото функцията .read() връща -1 след като прочете файла или реда, не съм сигурен.

 

0
val4o89 avatar val4o89 240 Точки

Браво, харесаха ми решенията ти, без излишни усложнявания, каквито видях в други решения, включително моите :)

0
SvilenVelikov avatar SvilenVelikov 1 Точки

Елегантно решение за  Create Zip Archive 

0