Java輸入與輸出

Java的5個非常重要的輸入輸出類:InputStream、OutputStream、Reader、Writer、File

一、輸入輸出類庫

    流

        流,計算機的輸入、輸出操作中流動的數據序列。

        Java中的流,位流(字節流)和字符流。
        位流:InputStream、OutputStream
        字符流:Reader、Writer

    輸入輸出流類

        1、InputStream

            (1)、read()方法
                public int read()
                public int read(byte b[])

            (2)、定位指針的方法
                public long skin(long n)
                public void mark()
                public void reset()

            (3)、close()方法
                public void close()

            InputStream類中部分常用子類的繼承關係
            InputStream
                FileInputStream
                FilterInputstream
                    DataInputStream
                    BufferedInputStream

        2、OutputStream

            (1)、write()方法
                public void write(int b)
                public void write(byte b[])

            (2)、flush()方法
                public void flush()

            (3)、close()方法
                public void close()

            OutputStream類的部分常用子類的繼承關係
            OutputStream
                FileOutputStream
                FilterOutputStream
                    PrintStream
                    DataOutputStream
                    BufferedOutputStream

        3、Reader

            (1)、read()方法
                public int read()
                public int read(char array[])

            (2)、定位指針的方法
                public long skin(long n)
                public void mark()
                public void reset()

            (3)、close()方法
                public void close()

            Reader類中部分常用子類的繼承關係
            Reader
                BufferedReader
                    InputStreamReader
                        FileReader

        4、Writer

            (1)、write()方法
                public void write(int c)
                public void write(char array[])

            (2)、flush()方法
                public void flush()

            (3)、close()方法
                public void close()

            Writer類的部分常用子類的繼承關係
            Writer
                PrintWriter
                BufferedWriter
                OutputStreamWriter
                    FileWriter

二、標準輸入輸出

    System.out屬於PrintStream類對象
    System.in屬於InputStream類對象
    System.err屬於PrintStream類對象

    標準輸入
        System.in.read()
        new BufferedReader(new InputStreamReader(System.in)).readLine()

    標準輸出
        System.out.print()
        System.out.println()

    標準錯誤
        System.err

三、文件操作

    建立File對象

        1、File(String path)
        2、File(String path, String name)
        3、File(File dir, String name)

    File對象的屬性和操作

        1、獲得文件或目錄名稱與路徑
            public String getNmae()
            public String getPath()

        2、判斷文件或目錄是否存在
            public boolean exists()

        3、獲取文件長度
            public long length()

        4、獲取文件讀取屬性
            public boolean canRead()
            public boolean canWrite()

        5、比較文件或目錄
            public boolean equals(File file)

        6、判斷是文件還是目錄
            public boolean isFile()
            public boolean isDirectiry()

        7、重命名文件
            public boolean renameTo(File file)

        8、刪除文件
            public boolean renameTo(File file)

    實例

        1、以字節流方式讀/寫文件

            (1)、以字節流方式寫入文件
                File file = new File(“C:\\txt.txt”);
                FileOutputStream fout = new FileOutputStream(file);
                char ch = (char)System.in.read();
                fout.write(ch);
                fout.close();

            (2)、以字節流方式讀磁盤文件
                File file = new File(“C:\\txt.txt”);
                FileInputStream fin = new FileInputStream(file);
                int ch = fin.read();
                System.out.print((char)ch);
                fin.close();

        2、磁盤文件讀寫各類數據

            (1)、向磁盤文件寫入各類數據
                InputStreamReader iin = new InputStreamReader(System.in);
                BufferedReader bin = new Buffered(iin);
                int I = Integer.parseInt(bin.readLine());
                float f = Float.parseFloat(bin.readLine());
                boolean b = new Boolean(bin.readLine()).booleanValue();
                File file1 = new File(“C:\\txt1.txt”);
                FileOutputStream fout = new FileOutputStream(file1);
                DataOutputStream dout = new DataOutputStream(fout);
                dout.writeInt(i);
                dout.writeFloat(f);
                dout.writeBoolean(b);
                dout..close();

            (2)、從磁盤文件讀取各類數據
                File file1 = new File(“C:\\txt1.txt”);
                FileInputStream fin = new FileInputStream(file1);
                DataInputStream din = new DataInputStream(fin);
                int i = din.readInt();
                float f = din.readFloat();
                boolean b = din.readBoolean();
                din.close();
                File file2 = new File(“C:\\txt2.txt”);
                FileOutputStream fout = new FileOutputStream(file2);
                DataOutputStream dout = new DataOutputStream(fout);
                dout.writeInt(i);
                dout.writeFloat(f);
                dout.writeBoolean(b);
                dout.close();
                System.out.println(“整數:”+i);
                System.out.println(“浮點數:”+f);
                System.out.println(“布爾量:”+b);

        3、以字符流方式讀寫文件

            (1)、以字符流方式寫入文件
                InputStreamReader iin = new InputStreamReader(“System.in);
                BufferedReader br = new BufferedReader(iin);
                String s = br.readLine();
                FileWriter fw1 = new FileWriter(“C:\\txt1.txt”);
                BufferedWriter bw = new BufferedWriter(fw1);
                bw.write(s);
                bw.newLine();
                bw.close();

            (2)、以字符流方式讀取文件
                FileReader fr = new FileReader(“C:\\txt1.txt”);
                BufferedReader br = new BufferedReader(fr);
                String s = br.readLine();
                BufferedWriter bw = new BufferedWriter(
                    new FileWriter(“C:\\txt2.txt”));
                bw.write(s);
                bw.newLine();
                bw.close();

        4、以字符流方式向顯示器輸出
            FileReader fr = new FileReader(“C:\\txt.txt”);
            BufferedReader br = new BufferedReader(fr);
            String s = br.readLine();
            BufferedWriter bw = new BufferedWriter(
                new OutputStreamWriter(System.out));
            bw.write(s);
            bw.newLine();
            bw.close();

發佈了76 篇原創文章 · 獲贊 4 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章