Pages

Wednesday, February 25, 2015

Java Part 11 ( File Handling )


Java File Handling

අන්තිමට අපි method ගැන කතා කරද්දි ඒක java කුප්පියෙ අවසාන කොටස කියලා කිව්වට ගොඩක් අයගෙ ඉල්ලීම මත අපිට ඒකට තව කොටසක් එකතු කරන්න වෙනවා.. ඒ තමයි FILE HANDLING. ඇත්තටම මේක ගොඩක් අයට තේරුම් ගන්න අමාරු කොටසක්. මටත් මුලදි අමාරු වුනා.. හැබැයි මට තේරුනා ඇත්තටම මේක අමාරුයි කියලා හිතෙන්නෙ අපි මේක පටන් ගන්න කලින්ම අමාරුයි කියලා හිතන නිසා කියලා.. ඒක නිසා අපි දැන් මේක පටන් ගන්නෙ අමාරු නෑ කියන තැන ඉඳන් හොඳද.. 

මුලින්ම මම මෙහෙම කියලා ඉන්නම්.. මොකක්ද මේ File Handling කියන්නෙ. file handling කියන්නෙ අපි java program එකක් use කරලා hard එකේ file එකකට මොනවා හරි දෙයක් (DATA) save කරන එක හරි ආපහු එහෙම hard එකේ file එකකින් read කරන එකට..


File Writing (using buffered writer)

ඇත්තටම java වල file එකකට data write කරන්න තියෙන එකම ක්‍රමය මේක නෙවෙයි. ගොඩක් ක්‍රම තියෙනවා... මගේ නම් අදහස මොකක් හරි එක ක්‍රමයක් හරියටම දන්නවනම් ඒ ඇති කියන එක. ඒක නිසා මේ Buffered writer ක්‍රමේ ගැන විතරයි අපි කතා කරන්නෙ.. 

STEP 1

මුලින්ම අපිට File එකක් හදාගන්න වෙනවා data save කරන්න කලින්.. ඒකට කරන්න තියෙන්නෙ java වල දීලා තියෙන File class එක use කරලා object එකක් හදන එක. මෙතනදි වරහන් ඇතුලෙ String එකක් විදියට file එක හැදෙන්න ඕන path එකයි නමයි දෙන්න ඕන. 




මෙතන දීලා තියෙන එකේ හැටියටනම්, D එකේ data1 කියලා text file එකක් තමයි හැදෙන්නෙ..


STEP 2

දෙවෙනියට කරන්න තියෙන්නෙ අපි හදාගත්ත File එකට data write කරන්න writer එකක් හදන එක. ඒකට java වල FileWriter class එකෙන් object එකක් හැදුවනම් වැඩේ හරි.. ‍මෙතනදි වරහන් ඇතුලට දෙන්න ඕන අපි write කරන්න යන file එක.. ඒ කියන්නෙ අපි කලින් හදාගන්තු file object එකේ නම වරහන් ඇතුලට දැම්මනම් වැඩේ ගොඩ..




STEP 3

ඊළඟට අපිට කරන්න තියෙන්නෙ BufferedWriter object එකක් හදලා ඒක ඇතුලට FileWriter object එක දාන එක.. 




Final

දැන් ඉතින් වැඩේ හරි.. අපිට ඇත්තටම computer එකෙන් A4 කොලයක් print කරන්න ඕන වුනාම අපි මොකද කරන්නෙ?

1) word හරි මොකක් හරි use කරලා file එක හදාගන්නවා...
2) Printer එකක් හොයාගන්නවා..
3) ඒකට අවශ්‍ය connection ටික හදනවා..

ඉතින් අපි දැන් කරෙත් ඒ වගේම දෙයක් තමයි..

1) File එකක් හදාගත්තා
2) FileWriter එකක් හදාගත්තා
3) BufferedWriter එකට කියලා connection හදාගත්තා..

දැන් එහෙනම් අපිට data write කරන්න ඕන කරන ඔක්කොම වැඩ හරි.. දැන් කරන්න තියෙන්නෙ අපේ connection එක BufferedWriter object එක use කරලා file එකට data write කරන එක විතරයි...




රූපෙ පෙන්නලා තියෙන විදියට අපිට write කරන්න ඕන data එක String parameter එකක් විදියට දීලා අපි හදාගත්තු buffered writer object එකේ තියෙන write method එක call කලා නම් වරහන් ඇතුලෙ දීපු එක අපි හදාගත්ත file එක ඇතුලට වැටෙනවා.. 

දැන් හැබැයි අපි file එක open කරලා බැලුවට ඒ write කරපු එක ඒ file එකට වැටෙන්නෙ නෑ.. ඒකට හේතුව තමයි මෙතනදි කරන්නෙ file එකට ඇත්තටම data එක දාන්න පුළුවන්ද කියලා බලන එක විතරයි.. ඇත්තටම file එකේ save වෙන්නනම් අපිට අන්තිමට buffered writer object එක ඇතුලෙ තියෙන flush() method එක call කරන්න වෙනවා.. මෙතනදි මතක තියාගන්න අපි write කරන data එකෙන් data එකට flush කරන්න ඕන නෑ.. ඔක්කොම දාලා ඉවර වුනාම අන්තිමට එක පාරක් flush() method එක call කලානම් වැඩේ ගොඩ..

ඉතින් ඔන්න ඔහොමයි file එකකට data write කරගන්නෙ..


Special Case

මතක තියාගන්න මේ code ටික නිකම්ම main method එක ඇතුලෙ ලියන්න බෑ.. මොකද අපි මෙහෙම අපේ program එකේ ලිව්වට වැරදිලා හරි අපි හදන file එක machine එකේ හදන්න දෙන්නෙ නැත්නම් හරි අපිට ඒ file එකට write කරන්න permission නැත්නම් හරි ERROR එකක් එන නිසා අපිට එහෙම error එකක් ආවොතින් program එක exit වෙන්නෙ නැතුව තියාගන්න තව code part එකක් ඇතුලෙ තමයි මේ ටික ලියන්න ඕන.. ඇත්තටම මේ කියපු සිද්ධියට කියන්නෙ Exception Handling කියලා.. අපි ඒවා ගැන කතා කරන්නෙ අපේ ඊළඟ කුප්පියෙන්, ඒ කියන්නෙ OOP වලින්..

මෙන්න මේ code set එක ඇතුලෙ තමයි ඔක්කොම ලියවෙන්න ඕන..




ඔක්කොම ඇතුලට දැම්මම එන්නෙ මෙන්න මේ වගේ Code set එකක්..





මම හිතාගෙන හිටියෙ නම් file write කරන එකයි file read කරන එකයි දෙකම එකම post එකක දාන්න.. ඒත් ගොඩක් කට්ටියට මේක අමාරු නිසා මම මේ කොටස මෙතනින් නවත්තලා අළුත් එකකින්ම file එකකින් read කරන හැටි දාන්නම්..


16 comments:

  1. anthimata full code set ekath dapanko machan example ekak widiyata

    ReplyDelete
    Replies
    1. package filehandling;

      import java.io.BufferedWriter;
      import java.io.File;
      import java.io.FileNotFoundException;
      import java.io.FileWriter;
      import java.io.IOException;

      public class FileHandling {

      public static void main(String[] args) throws IOException {
      try{

      File file = new File("D:\\data1.txt");
      FileWriter writer = new FileWriter(file);
      BufferedWriter bw = new BufferedWriter(writer);

      bw.write("Hello World");
      bw.newLine();
      bw.flush();

      }catch(FileNotFoundException ex){
      System.out.println(ex);
      }catch(IOException ex2){
      System.out.println(ex2);
      }

      }

      }

      Delete
  2. thnxs bro.full code ekak dammanm hodai.pracatice krnna lesi

    ReplyDelete
    Replies
    1. package filehandling;

      import java.io.BufferedWriter;
      import java.io.File;
      import java.io.FileNotFoundException;
      import java.io.FileWriter;
      import java.io.IOException;

      public class FileHandling {

      public static void main(String[] args) throws IOException {
      try{

      File file = new File("D:\\data1.txt");
      FileWriter writer = new FileWriter(file);
      BufferedWriter bw = new BufferedWriter(writer);

      bw.write("Hello World");
      bw.newLine();
      bw.flush();

      }catch(FileNotFoundException ex){
      System.out.println(ex);
      }catch(IOException ex2){
      System.out.println(ex2);
      }

      }

      }

      Delete
  3. patta kolla...Got this!! thanks bro!

    ReplyDelete
  4. thnx bro. puluwan nm java threads tikat poddak pehedili karala daanna.gud luck

    ReplyDelete
  5. සර් Exception handling ගැන කියල දෙන්න පුලුවන්ද ?

    ReplyDelete
  6. Aiya Exception handaling poddak kiyala denna puluwanda

    ReplyDelete
  7. paragraph ekak khmda write krnne ayye ?

    ReplyDelete
  8. waradak na godak hodai...

    video's vidihata dammanam thawath hodai..

    ReplyDelete
  9. file handling gana thava poddak pahadili karala dennako

    ReplyDelete

Contact Form

Name

Email *

Message *