文档详情

Java基础[07-IO]文档教程.ppt

发布:2025-06-06约4.88千字共30页下载文档
文本预览下载声明

标准输入输出流System类中的字段:in,out。它们各代表了系统标准的输入和输出设备。默认输入设备是键盘,输出设备是显示器。System.in的类型是InputStream.System.out的类型是PrintStream是OutputStream的子类FilterOutputStream的子类.标准输入输出流示例例:获取键盘录入数据,然后将数据流向显示器,那么显示器就是目的地。通过System类的setIn,setOut方法对默认设备进行改变。System.setIn(newFileInputStream(“1.txt”));//将源改成文件1.txt。System.setOut(newPrintStream(“2.txt”));//将目的改成文件2.txt因为是字节流处理的是文本数据,可以转换成字符流,操作更方便。BfferedReaderbufr= newBufferedReader(newInputStreamReader(System.in));BufferedWriterbufw= newBufferedWriter(newOutputStreamWriter(System.out));流的基本应用小节流是用来处理数据的。处理数据时,一定要先明确数据源,与数据目的地(数据汇)。数据源可以是文件,可以是键盘。数据目的地可以是文件、显示器或者其他设备。而流只是在帮助数据进行传输,并对传输的数据进行处理,比如过滤处理.转换处理等。字符流继承体系简图字符流ReaderWriterInputStreamReaderOutputStreamWriterFileReaderFileWriterBufferedReaderBufferedWriter—高级软件人才实作培训专家!—高级软件人才实作培训专家!—高级软件人才实作培训专家!—高级软件人才实作培训专家!212*字符流由来就是:早期的字节流+编码表,为了更便于操作文字数据。记住:只要是操作字符数据,应该优先使用字符流。*四个体系中的子类们,后缀名都是父类名。前缀名都是这个子类的功能。****OutputStreamWriterosw=newOutputStreamWriter(newFileWriter(“test.txt”));将“你好”两个字符查指定的utf-8的码表,获取对应的数字,并写入到text.txt文件中。OutputStreamWriterosw=newOutputStreamWriter(newFileOutputStream(“text.txt”),”utf-8);osw.write(“你好”);osw.close();读取硬盘上的文件数据,将获取到的数据查指定utf-8的码表来解析该数据。InputStreamReaderisr=newInputStreamReader(newFileInputStream(“text.txt”),”utf-8);char[]buf=newchar[10];intnum=isr.read(buf);Strings=newString(buf,0,num);System.out.println(s);传入编码表的方法都会抛出不支持编码异常(UnsupportedEncodingException);举例:将一个中文用gbk编码,用iso8859-1解码,乱码,解决方式:对乱码进行iso8859-1编码,在用gbk解码即可。问题:用gbk编码,用utf-8解码,乱码,可是对乱码进行utf-8编码后,在用gbk解码,还是乱码??因为,用gbk编码后的数字去查utf-8的码表时u8不识别,就直接用一个未知字符来表示,而这个未知字符是3个字节的。所以原数字码已经变化了,所以还原不回来了。如果解错了,可以更换一个码表再解。Java预热班讲义IO(InputOutput)流IO流用来处理设备之间的数据传输Java对数据的操作是通过流(系统资源)的方式Java用于操作流的对象都在java.io包中File类用来将文件或者文件夹封装成对象方便对文件与文件夹的属性信息进行操作。File对象可以作为参数传递给流的构造函数。了解File类中的常用方法。递归函数自己调用自己。注意:递归时一定要明确结束条件。应用场景:当某一功能要重复使用时。练习:列出一个文件夹下所有的子文件夹以及子文件思考:1,删除一个目录的过程是如何进行的?IO(InputOutput)流流

显示全部
相似文档