본문 바로가기

# 02/Java

[윤성우 열혈자바] 32-3. 문자 스트림의 이해와 활용

반응형








문자 스트림 기반에서 문자를 저장하면?

class SimpleWriter {

   public static void main(String[] args) {

      try(Writer out = new FileWriter("data.txt")) { // 문자 출력 스트림 생성

         out.write('A');  // 문자 'A' 저장

         out.write('’);  // 문자 '' 저장

      }

      catch(IOException e) {

         e.printStackTrace();

      }

   }

}
















FileReader 예제


public static void main(String[] args) {

   Scanner sc = new Scanner(System.in);

   System.out.print("읽을 파일: ");

   String src = sc.nextLine();

   

   try(Reader in = new FileReader(src)) { // 문자 입력 스트림 생성

      int ch;

     

      while(true) {

         ch = in.read(); // 문자를 하나씩 읽는다.

         if(ch == -1) //  이상 읽을 문자가 없다면,

            break;

         System.out.print((char)ch); // 문자를 하나씩 출력한다.

      }

   }

   catch(IOException e) {

      e.printStackTrace();

   }

}









FileWriter 예제


class TextWriter {

   public static void main(String[] args) {

      try(Writer out = new FileWriter("data.txt")) { // 문자 출력 스트림 생성

         for(int ch = (int)'A'; ch < (int)('Z'+1); ch++)

            out.write(ch);

      }

      catch(IOException e) {

         e.printStackTrace();

      }

   }

}
















BufferedWriter 예제


class StringWriter {

   public static void main(String[] args) {

      String ks = "공부에 있어서 돈이  필요한 것은 아니다.";

      String es = "Life is long if you know how to use it.";

     

      try(BufferedWriter bw = new BufferedWriter(new FileWriter("String.txt"))) {

         bw.write(ks, 0, ks.length());    // 0부터 문자열 길이까지 즉 문자열 전체

         bw.newLine();   //  바꿈 문자를 삽입 - 개행 (운영체제   바꿈의 표시 방법이 다름)

         bw.write(es, 0, es.length());

      }

      catch(IOException e) {

         e.printStackTrace();

      }

   }

}









BufferedReader 예제


class StringReader {

   public static void main(String[] args) {

      try(BufferedReader br = new BufferedReader(new FileReader("String.txt"))) {

         String str;

         while(true) {

            str = br.readLine();   //  문장 읽어 들이기 (개행 기준)

            if(str == null)

               break;

            System.out.println(str);

         }

      }

      catch(IOException e) {

         e.printStackTrace();

      }

   }

}




반응형