黑马程序员技术交流社区

标题: io流 [打印本页]

作者: jiangkaizhuo    时间: 2016-4-15 23:17
标题: io流
IO流
        1:字节流
                字节输入流
                字节输出流
        2:字符流
                字符输入流(☆☆☆☆)
                        Reader方法:
                                public int read():读取单个字符,并返回成int,如果已到达流的末尾,则返回 -1
                                public int read(char[] cbuf):将字符读入数组,返回读取的字符数,如果已到达流的末尾,则返回 -1
                       
                        public static void main(String[] args) throws IOException {
                                FileReader fr = new FileReader("xxx.txt");        //创建字符输入流对象
                                int c;
                               
                                while((c = fr.read()) != -1) {                //通过项目默认的码表一次读取一个字符
                                        System.out.print((char)c);        //将c强制类型转换成 char
                                }
                                fr.close();
                        }
                字符输出流(☆☆☆☆)
                        Writer的方法:
                                public void write(int c):写入单个字符。要写入的字符包含在给定整数值的 16 个低位中,16 高位被忽略。c - 指定要写入字符的 int类型。
                                public void write(char[] cbuf):写入字符数组。
                                public abstract void write(char[] cbuf,int off, int len):写入字符数组的某一部分。cbuf - 字符数组,off - 开始写入字符处的偏移量,len - 要写入的字符数
                                public void write(String str):写入字符串。(字符流特有的方法,字节流里面没有)
                                public void write(String str,int off, int len):写入字符串的某一部分。str - 字符串,off - 相对初始写入字符的偏移量,len - 要写入的字符数 (字符流特有的方法,字节流里面没有)

                        public static void main(String[] args) throws IOException {
                                FileWriter fw = new FileWriter("yyy.txt");
                                fw.write("大家好,基础班快接近尾声了,大家要努力,要坚持!!!");
                                fw.write(97);
                                fw.close();
                        }
                字符流拷贝文件 一次一个字符(☆☆☆☆☆)
                        public static void demo1() throws FileNotFoundException, IOException {
                                FileReader fr = new FileReader("xxx.txt");
                                FileWriter fw = new FileWriter("zzz.txt");
                               
                                int c;
                                while((c = fr.read()) != -1) {
                                        fw.write(c);
                                }
                               
                                fr.close();
                                fw.close();        //Writer类中有一个char[] chs = new char[1024]的小缓冲区,如果不关流,就会将内容写到缓冲区里,关流会将缓冲区内容刷新,再关闭
                        }
作者: liuchenguangqnm    时间: 2016-4-15 23:32
上基础班之前加班加点自学过IO,看了你的帖子之后也是一次很好的复习,谢谢
作者: 梧桐望穹    时间: 2016-4-15 23:51
感谢分享!!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2