java基础知识08

来源:互联网 发布:java web书 编辑:程序博客网 时间:2024/06/05 18:33


1. 字符流    FileReader                 FileWriter              BufferedReader          BufferedWriter

   字节流     FileInputStream            FileOutputStream           BufferedInputStream               BufferedOutputStream

2.字节流   InputStream  读                 OutputStream  写

           1. 需求:想要操作图片数据,这时就要用到字节流

                       

              2. 通过字节流缓冲区复制mp3

                        

                 3.读取键盘录入       System.out:对应的是标准输出设备,默认是控制台

                                                 System.in:对应的是标准输入设备,默认是键盘

                                         

                         

                                    4.需求:通过键盘录入数据,当录入一行数据后,就将该行数据进行打印,如果录入的数据是over,那么停止录入。

                                                 

                              通过刚才的键盘录入一行数据并打印器大写,发现其实就是读一行数据的原理,也就是readLine方法,那么能不能直接使用readLine方法来完成键盘录入的一                               行数据的读取呢?readLine方法是字符流BufferedReader类中的方法,而键盘录入的read方法是字节流InputStream的方法,那么能不能将字节流转成字符流                                 再使用字符流缓冲去用readLine的方法呢?

                            读取转换流见下面程序:

                                           

                                  5.写入转换流与读取转换流

                                           

                   IO流(异常的日志信息),网上有一个包,log4j

                     系统信息打印到指定位置的程序如下:

                                       

3.File类

                1. 用来将文件或者文件夹封装成对象,方便对文件与文件夹进行操作。File对象可以作为参数传递给流的构造函数。了解File类中的常用方法。

                                     

            File.separator     跨平台的分隔符

               2.      File类常见方法

                                         1.创建    

                                                boolean  createNewFile(); 在指定位置创建文件,如果该文件已经存在,则不创建,返回false,和输出流不一样,输出流对象一建立就创立文                                                                                                          件,如果文件已经存在,会覆盖        

                                                 boolean   mkdir;  创建文件夹            boolean       mkdirs;   创建多级文件夹

                                         2.删除            

                                                 boolean       delete();删除失败则返回false

                                                  void  deleteOnExit();  在程序退出时删除指定文件

                                         3.判断

                                                   boolean  exists();            

                                                     isFile();

                                                       isDirectory();

                                                       isHidden();

                                                     isAbsolute();   是绝对路径

                                             4.获取信息

                                                        getName(); getPath();getParent();    getAbsolutePath();  lastModified();length();

                             

                       3.    练习

                                     1.列出目录下所有内容

                                             

                                              2.删除一个带内容的目录。删除原理,在windows中删除目录,从里面往外删除的,既然是从里往外删除,就需要用到递归。

                                                               

                                        3.将一个指定目录下的java文件的绝对路径,存储到一个文本文档中,建立一个java文件列表文件。


4.Properties是hashtable的子类,也就是说它具备map集合的特点,而且它里面存储的键值对都是字符串。是集合中核IO结束相结合的集合容器

          该对象的特点:可以用于键值对形式的配置文件,设置和获取元素见下面程序:

                   

          流中数据存储到集合中,用Properties方法实现:

                     

                            在加载数据时,需要数据有固定格式,  键 = 值

                1.练习:用于记录应用程序运行次数,如果使用次数已到,那么给出注册提示,很容易想到的是:计数器。可是该计数器定义在程序中,随着程序的运行而在内存中存                   在,并进行自增,可是随着该应用程序的退出,该计数器也在内存中消失了,下一次再启动该程序,又重新开始从0计数,这不是我们想要的,我们想要的是:程序即                   使结束,该计数器的值也存在,下次程序启动会先加载该计数器的值并加1后再重新存储起来。所以要建立一个配置文件,用于记录该软件的使用次数。这配置文件使                    用键值对的形式,这样便于月度数据,并操作数据                                                                 

               键值对数据是map集合,数据是以文件形式存储,使用IO技术,那么map+io = Properties

                配置文件可以实现应用程序数据的共享。程序如下:

                               

5.打印流: 该流提供了打印方法,可以将各种数据类型的数据都原样打印。

                  字节打印流PrintSteam: 构造函数可以接收的参数类型

                                             1.File对象       2.字符串路径          3.字节输出流

                  字符打印流 PrintWriter:构造函数可以接收的参数类型

                                           1.File对象       2.字符串路径      3.字节输出流       4.字符输出流

                            

6. 序列流 (合并流)  SequenceInputStream 。比如把3个文本文档合并为1个

                   

 7.切割文件

                              

         

原创粉丝点击