18. Writer¥¯¥é¥¹

ʸ»ú¤ò¤¢¤Ä¤«¤¦½ÐÎÏ¥¹¥È¥ê¡¼¥à¤Ç¤¹¡£Ê¸»ú¥³¡¼¥ÉÊÑ´¹¤ò¼«Æ°¤Ç¹Ô¤¤¤Þ¤¹¡£

(1) ¥Õ¥¡¥¤¥ë¤Ëʸ»ú¤ò½ñ¤­¹þ¤à

¼¡¤ÎÎãÂê¤ò¼Â¹Ô¤·¤Æ¤ß¤Þ¤¹¡£

¡¡¡¡CharWriteTest.java

import java.io.*;

class CharWriteTest {
    public static void main(String args[]) {
        try {
            FileOutputStream fos = new FileOutputStream("chartest");
            DataOutputStream dos = new DataOutputStream(fos);
            dos.writeUTF("ABCDE");
            dos.writeUTF("¤¢¤¤¤¦¤¨¤ª");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}


¡¡¼Â¹ÔÊýË¡

C:\java_test>java CharWriteTest

C:\java_test>type chartest
 ABCDE åá¤å¡äåá¬å¡èåá

¡¡ÎãÂê¤ò¼Â¹Ô¤¹¤ë¤È chartest ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤¬¤Ç¤­¤Þ¤¹¡£¤³¤Î¥Õ¥¡¥¤¥ë¤ÎÃæ¿È¤ò¸«¤Æ¤ß¤ë¤È¡¢¤ª¤«¤·¤Êɽ¼¨¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£

¡¡¥Õ¥¡¥¤¥ë¤Ë·ë²Ì¤ò½ÐÎϤ¹¤ë¤È¤­¤Ë¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤È¤·¤Æ·ë²Ì¤ò¸«¤¿¤¤¤È¤­¡¢¤³¤ì¤Ç¤Ï¤µ¤Ã¤Ñ¤ê°ÕÌ£¤¬¤ï¤«¤ê¤Þ¤»¤ó¡£

¡¡Java ¤Ç¤Ïʸ»ú¤ÎÆþ½ÐÎϤΤ¿¤á¥¹¥È¥ê¡¼¥à¤È¤·¤Æ Writer / Reader ¤È¤¤¤¦£²¤Ä¤Î¥¯¥é¥¹¤¬ÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤é¤Î¥¯¥é¥¹¤Ï¼Â¹ÔÃæ¤Î£Ï£Ó¤¬»È¤Ã¤Æ¤¤¤ëʸ»ú¥³¡¼¥É¤ÈJava¤¬Ê¸»ú¤ò°·¤¦¤È¤­¤Ë»È¤Ã¤Æ¤¤¤ë Unicode ¤ÎÊÑ´¹¤â¹Ô¤¤¤Þ¤¹¡£


(2) ¥Æ¥­¥¹¥È¥Õ¥¡¥¤¥ë¤ÇÆɤá¤ë¤è¤¦¤Ë¤·¤Æ¤ß¤ë

¡¡¤Ç¤Ï Writer ¥¯¥é¥¹¤ò»È¤Ã¤Æ¤ß¤Þ¤¹¡£Writer ¥¯¥é¥¹¤Ïʸ»ú½ÐÎϤΤ¿¤á¤Î¥¹¥È¥ê¡¼¥à¤È¤·¤Æ»È¤¦¥¯¥é¥¹¤ÎºÇ¾å°Ì¤Î¥¯¥é¥¹¤Ç¡¢¤³¤ì¤À¤±¤Ç¤â»È¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¤¬¡¢Writer ¥¯¥é¥¹¤Î¥µ¥Ö¥¯¥é¥¹¤ÎÊý¤¬»È¤¤¾¡¼ê¤¬Îɤ¤¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£

¡¡¤³¤³¤Ç¤Ï¤Þ¤º¡¢¥Õ¥¡¥¤¥ë¤Ë½ñ¤­¹þ¤à¤¿¤á¤Î¥¯¥é¥¹¤ò¾Ò²ð¤·¤Þ¤¹¡£java.io.FileWriter ¤È¤¤¤¦¥¯¥é¥¹¤Ç¤¹¡£¤³¤Î¥¯¥é¥¹¤Ï FileOutputStream ¤È¤¤¤¦¤Û¤È¤ó¤ÉƱ¤¸»È¤¤Êý¤¬¤Ç¤­¤Þ¤¹¡£FileWriter ¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¤Ï¡¢
FileWriter(File file) throws IOException
FileWriter(String fileName) throws IOException

¡¡¤Î¤è¤¦¤Ê¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£½ñ¤­¹þ¤ß¤¿¤¤¥Õ¥¡¥¤¥ë¤ò°ú¿ô¤Ë»ØÄꤷ¤Þ¤¹¡£¤¢¤È¤Ï¡¢write( ) ¥á¥½¥Ã¥É¤ò»È¤¦¤È½ñ¤­¹þ¤ß¤¬¤Ç¤­¤Þ¤¹¡£

void write(String str) throws IOException

¡¡¡¡WriterTest.java

import java.io.*;

class WriterTest {
    public static void main(String args[]) {
        try {
            FileWriter fw = new FileWriter("writertest");
            fw.write("ABCDE");
            fw.write("¤¢¤¤¤¦¤¨¤ª");
            fw.flush() // ½ñ¤­¹þ¤Þ¤ì¤Ê¤¤¾ì¹ç¤Ïflush¤·¤Þ¤¹¡£ 
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}


¡¡¼Â¹ÔÊýË¡

C:\java_test>java WriterTest

C:\java_test>type writertest
ABCDE¤¢¤¤¤¦¤¨¤ª


(2) ¤¤¤Ä¤â¤Î´¶³Ð¤Ç»È¤¨¤ë¤è¤¦¤Ë¤¹¤ë PrintWriter

¡¡Writer ·Ï¤Î¥¯¥é¥¹¤Ç¤â¥Õ¥£¥ë¥¿¤Î¤è¤¦¤Ë»È¤¦¥¯¥é¥¹¤¬Â¸ºß¤·¤Þ¤¹¡£¥Õ¥£¥ë¥¿¤Ï´û¸¤Î¥¹¥È¥ê¡¼¥à¤ËÀܳ¤·¤Æµ¡Ç½³ÈÄ¥¤ä¥³¡¼¥ÉÊÑ´¹¤ò¤¹¤ë¤â¤Î¤Ç¤·¤¿¡£¤³¤³¤Ç¤Ï java.io.PrintWriter ¤ò¾Ò²ð¤·¤Þ¤¹¡£PrintWriter ¤ò»È¤¦¤È System.out.println( ) ¤Çɽ¼¨¤ò¹Ô¤Ã¤Æ¤¤¤¿¤Î¤È¶á¤¤´¶³Ð¤Ç½ÐÎÏ¥×¥í¥°¥é¥à¤¬½ñ¤±¤Þ¤¹¡£

¡¡PrintWriter ¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¤Ï
PrintWriter(Writer out)
PrintWriter(OutputStream out)

¡¡¤Î¤è¤¦¤Ê¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡£¤½¤·¤Æ½ñ¤­¹þ¤ß¤è¤¦¤Î¥á¥½¥Ã¥É¤Ï print( ) ¤È println( ) ¤¬¤¢¤ê¤Þ¤¹¡£¤³¤Î£²¤Ä¤Î¥á¥½¥Ã¥É¤Ï System.out.print( ) ¤ä System.out.println( ) ¤ÈÁ´¤¯Æ±¤¸»È¤¤Êý¤Ç¤¹¡£

¡¡¤³¤Î PrintWriter ¤ò»È¤Ã¤ÆÀè¤Û¤É¤ÎÎãÂê¤ò½ñ¤­´¹¤¨¤Æ¤ß¤ë¤È¼¡¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡¡¡PrintTest.java

import java.io.*;

class PrintTest {
    public static void main(String args[]) {
        try {
            FileWriter fw = new FileWriter("printtest");
            PrintWriter out = new PrintWriter(fw);
            out.print("ABCDE");
            out.print("¤¢¤¤¤¦¤¨¤ª");
            out.flush();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

ɸ½à½ÐÎϤËʸ»ú¤òɽ¼¨¤¹¤ë System.out.println( ) ¤Î System.out ¤Ï System ¥¯¥é¥¹¤Î out ¤È¤¤¤¦ÊÑ¿ô¤Ç¡¢¤³¤ì¤Ï PrintStream ¥¯¥é¥¹¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¹¡£

Á°¤Î¾Ï(17.ÆþÎÏ¥¹¥È¥ê¡¼¥à)¡¡¡¡ ¼¡¤Î¾Ï(19.Reader¥¯¥é¥¹)