Monday, April 25, 2011

Java - Stream, Input, Output жишээ - 1

Лекц 14-дээр java.io сангийн тухай дэлгэрэнгүй байгаа тул цаг гаргаж уншахыг зөвлөж байна. 
Энэ нийтлэлд Java-н хялбархан гараас унших, файлтай ажиллах жишээ оруулахаар зорилоо.

java.io - гэдэг санд Java-н оролт гаралт (I/O)-той ажиллах бараг бүхий л классууд байдаг гэхэд болно. Объект, хувьсагч, массив гээд дурын өгөгдөл, тэмдэгтийг дэмждэг тул та бүхэн хөгжүүлж буй сэдэвтээ файлтай ямар нэгэн байдлаар ажилладаг байхаар хийх хэрэгтэй. Оролт, гаралтын урсгалыг ашиглахын тулд програмдаа java.io санг импорт хийх хэрэгтэй. Үүний тулд эх кодын эхний мөрөнд import java.io.*; гэж бичнэ. * гэдэг нь тухайн java.io санд байгаа бүх классуудыг оруулж ашиглана гэж програмдаа ойлгуулж байгаа юм. io сангаас гадна маш олон урьд нь хөгжүүлж бэлэн болсон сангууд байдаг. Бид шинээр хийхээс өмнө урьд нь хийсэн сангуудыг судлаж ашиглах нь цаг хэмнэнэ.

1. КОНСОЛООС ӨГӨГДӨЛ УНШИХ:
Java-н консолоос оролт авч уншихдаа System.in -г ашигладаг. BufferedReader гэсэн объектэд System.in-г дамжуулснаар тэмдэгтийг урсгалыг унших боломжтой болж байгаа юм.

Жишээ код:
BufferedReader br = new BufferedReader(new 
                      InputStreamReader(System.in));

BufferedReader-н объект нэгэнт үүссэн бол бид read() аргаар тэмдэгтүүдийг, readLine()- аргаар String-г консолоос уншиж болно.


ЖИШЭЭ 1
// BufferedReader ашиглаж консолоос тэмдэгт(characters) өгөгдөл унших нь. Хэрэглэгч 'q' дарвал програм хаана.

import java.io.*;

class BRRead {
   public static void main(String args[]) throws IOException
   {
      char c;
      // System.in -г BufferedReader объектэд дамжуулж байна
      BufferedReader br = new BufferedReader(new 
                         InputStreamReader(System.in));
      System.out.println("Garaas, 'q' darj programmiig duusgana uu.");
      // тэмдэгт уншиж байна
      do {
         c = (char) br.read();
         System.out.println(c);
      } while(c != 'q'); // c хувьсагч нь String биш тэмдэгт учраас шууд != харьцуулж болно.
   }
}

Програмын гаралт:

Garaas, 'q' darj programmiig duusgana uu.
cs203fileq
c
s
2
0
3
f
i
l
e
q

ЖИШЭЭ 2
// BufferedReader ашиглаж консолоос String унших нь 
import java.io.*;
class BRReadLines {
   public static void main(String args[]) throws IOException
   {
      // System.in ашиглаж BufferedReader -н объектийг үүсгэж байна
      BufferedReader br = new BufferedReader(new
                              InputStreamReader(System.in));
      String str;
      System.out.println("String temdegtuudee oruulna uu.");
      System.out.println("Ta 'end' gej bichij programiig duusgan uu.");
      do {
         str = br.readLine();
         System.out.println(str);
      } while(!str.equals("end")); // энэ удаад str хувьсагч нь String учраас != харьцуулж болохгүй. str.equals() -гэсэн аргыг дуудаж харьцуулна
   }
}

Програмын гаралт:

String temdegtuudee oruulna uu.
Ta 'end' gej bichij programiig duusgan uu.
Negdugeer mor
Hoyordugaar mor
Guravdugaar mor
end

2. КОНСОЛ РУУ ӨГӨГДӨЛ БИЧИХ:
Бидний өнөөдрийг хүртэл дэлгэцэнд хэвлэхдээ энэ аргыг ашиглаж байсан. Консол руу өгөгдөл бичих нь print( ), println( )-г ашигладаг гэж өмнө үзсэн. Энэ нь System.out байтын урсгалын классыг ашиглаж дэлгэцэнд гаргадаг.

ЖИШЭЭ 3

import java.io.*;

// System.out.write() аргыг ашиглана
class WriteDemo {
   public static void main(String args[]) {
      int w; 
      w = 'A';
      System.out.write(w);
      System.out.write('\n');
   }
}
//Дээрх программын гаралт нь A гэсэн тэмдэгт байх болно.
// Мөр, мөрөөр бичих эсэхээс шалтгаалж
// print(), println() гэсэн аргуудыг ч бас ашигладаг.

No comments:

Post a Comment