პრობლემა:
დაწერეთ პროგრამა, რომელიც წაიკითხავს თAვის თავს ფაილიდან და დაბეჭდავს კონსოლში
საკითხი ძალიან მარტივია, უპირველეს ყოვლისა უნდა ვცადოთ ფაილის გახსნა, შემდეგ კი წავიკითხოთ და შევინახოთ თითოეული ხაზი
ფაილის წასაკითხად საკმარისია გამოვიყენოთ BufferedReader და FileReader მეთოდები, რომლებიც java.io ბიბლიოთეკის ნაწილია. თუმცა მხოლოდ ეს როდია საკმარისი, თუ ფაილის სახელს არასწორად შევიყვანთ ან თუნდაც არარსებულ ფაილს მივუთითებთ მივიღებთ ბაგებს. თუმცა ამის ასარიდებლად შეგვიძლია გამოვიყენოთ try { .. } catch { .. }, შედეგად მივიღებთ შემდეგ კოდს
try{
BufferedReader br = new BufferedReader(new FileReader(fileName));
//To-Do ...
}catch(Exception e){
//Error Message
}ეს ნაწილი საკმაოდ მარტივია, ფაილიდან ხაზის წაკითხვა შეგვიძლია BufferedReader-ის readLine() მეთოდის გამოყენებით, შესაბამისად შეგვიძლია ეს ფუნქცია მოვათავსოთ While(true) ციკლში, მაგრამ როდის უნდა გავაჩეროთ ციკლი? ესეც ძალიან მარტივია, მაშინ როდესაც readLine()-ს ფაილის დასასრულში ვიძახებთ ის აბრუნებს null-ს, ამიტომ შეგვიძლია ყოველ readLine()-ს გამოძახებას თან დავურთოთ შესაბამისი შემოწმებაც if(readLine() == null) break;.
ერთადერთი ხარვეზი რომელიც ზემოთ არ გაგვითვალიწნიებია გახლავთ - ფაილის დახურვა. მართალია ამ შემთხვევაში მოცემულ ამოცანას მაინც შეასრულებს ჩვენი კოდი, მაგრამ სხვა დროს, იმ შემთხვევაში თუ ფაილს არ დავხურავთ, შემდეგ კი მის ხელახლა გამოყენებას ვცდით მივიღებთ უამრავ შეცდომას და ვერც კი მივხვდებით რისი ბრალი შეიძლება იყოს. ამიტომ while ციკლის დასასრულს უბრალოდ შეგვიძლია დავწეროთ br.close() რომელიც დახურავს ჩვენს მიერ გახსნილ ფაილს