黑马程序员--转换流对象,输出方向,转换流编码效果,字符的编码和解码,String类的构造,方法getBytes,指定编码表,File类

  1. ------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! ------

1.      第二十一天回顾,字符流缓冲区,对于文本行操作 BufferedReader读取行方法readLine(),BufferedWriter写换行方法newLine(),缓冲区的读写文件,复制文本。字节流,非常常见的流对象,FileInputStream,FileOutputStream,读写的是字节数组。转换流:字节,字符之间的转换效果 InputStreamReader字节流向字符,OutputStreamWriter字符流向字节,使用上构造方法写的都是字节流。本身又是字符流,可以用字符流的缓冲区操作两个转换流,数据源,目的全部是字节,但是流中的数据纯文本,方便文本操作,才使用转换流

 

2.      第二十二天学习内容,转换流对象,输出方向,转换流编码效果,字符的编码和解码,String类的构造,方法getBytes,指定编码表。File类,操作路径和文件夹的类,类中的常用方法,方法使用技巧递归调用

 

3.      转换流--字符转成字节流

  转换流本身是字符,但是转的数据流向不同,输出方向,OutputStreamWriter,构造方法写的是字节输出流 OutputStreamWriter(OutputStream out),转换流将接收到的字符数据,转成字节输出,流向out中

 

4.      转换流编码效果

  流对象,没有指定查询哪一个码表,默认走操作系统的中GBK

  转换流OutputStreamWriter构造方法中,写一个字节输出流,写编码表的名字(String)不区分大小写,转换流会将文本数据,以指定的编码形式写入文件

 

  转换流InputStreamReader构造方法中,写一个字节输让流,写编码表的名字(String)不区分大小写,转换流会将文本数据,以指定的编码形式读取文件

 

5.      字符的编码和解码

  编码表:

   拉丁文 iso8859-1  java网络服务器Tomcat

   GB2312中文编码表 2个字节 对应1个汉字,4000左右汉字

   GBK 中文编码表,2个字节 对应1个汉字 20000个汉字

   Unicode 万国码,容纳全球的语言,所有文字2个字节表示

   UTF-8 3个字节对应1个汉字

 

   汉字,进行编码 == 字节数组,String类方法getBytes(编码表名)

   汉字,进行解码 == 字节数组变成汉字,String类的构造方法(字节数组,编码表名)

 

6.      File类

  将文件,文件夹,路径都封装成对象,提供更多方法,和属性,来操作这些对象

  File类,不属于流对象,不能读写文件。

  File类的对象,可以作为参数,传递给流对象的构造方法.

  File类方法,熟练掌握,用方法操作路径和文件夹,必须能够配合流对象实现更多功能。

 

7.      File类的静态常量

 public static Stringseparator与系统有关的目录分隔符 Windows中 \

 public static char separatorCharLinux中 /

 

 public static StringpathSeparator与系统有关的路径分隔符Windows中; 分号

 public static char pathSeparatorCharLinux中 : 冒号

 

8.      File类构造方法

l  File(String pathname)传递字符串的路径,写到文件夹,是一个文件。将写的路径,封装成一个File对象,可以调用File类的方法,操作路径

l  File(String parent,String child)传递字符串的父路径,字符串的子路径

l  File(File parent,String child)传递File父路径,字符串的子路径

 

9.      File类创建方法

l  boolean createNewFile() 创建文件,创建的是File构造方法中封装的路径,创建成功返回真,失败返回假。如果文件有,不在创建。只能创建文件

l  boolean mkdir()创建文件夹,创建的是File构造方法中封装的路径,创建成功返回真,失败返回假。如果存在就不在创建。只能创建文件夹,能创建一级目录。

l  boolean mkdirs()可以创建多级目录,用法和mkdir完全一致,推荐使用

 

10.  File类的删除方法

l  boolean delete()删除构造方法中,指定的路径,删除成功返回真,失败返回假。删除的时候,不走回收站,直接永久删除。删除一个文件夹的时候,如果文件夹不是空的,删除不掉,必须保证文件夹是空的,才能删除

l  void delectOnExit()删除构造方法中中,指定的路径,延迟删除,等JVM退出之前在删除

 

11.  File类的判断方法

l  boolean exists()判断File构造方法中封装的路径是不是存在,如果存储在返回真,不存在返回假

l  boolean isAbsolute()判断File构造方法中封装的路径是不是绝对路径,如果是返回真,不是返回假

l  boolean isDirectory()判断File构造方法中封装的路径是不是一个文件夹,如果是文件夹返回真,不是返回假。磁盘中只有2种形式,一种是文件夹,一种是文件。一个方法 isDirectory完全判断是不是文件,还是文件夹.

l  boolean isFile()判断File构造方法中封装的路径是不是文件,如果是文件返回真,不是文件返回假

l  boolean isHidden()判断File构造方法封装的路径是不是隐藏属性,是隐藏属性返回真,不是返回假

 

12.  File类的获取方法

l  String getName()获取到File构造方法中封装的路径的最后部分的名字,可能是一个文件,也可能是文件夹,获取的就是最后部分的名字

l  String getParent()返回File构造方法中封装的路径的父路径,返回字符串,如果没有父路径返回null。返回值可以调用String类方法

l  File getParentFile()返回File构造方法中封装的路径的父路径,返回的是一个File对象,如果没有父路径返回null。返回值可以调用File类方法

l  String getAbsolutePath()返回File构造方法中封装的路径的绝对路径,返回的是一个String类对象

l  File getAbsoluteFile()返回File构造方法中封装的路径的绝对路径,返回值是一个File对象

 

13.  File类的其他方法

l  boolean renameTo(File f)重命名,File封装一个路径,这个对象调用renameTo(修改后的路径的File对象),修改成功返回真,失败返回假。修改名字后路径不同,方法renameTo带有剪切效果

l  long lastModified()返回File构造方法封装的路径中文件的最后修改时间的毫秒值

 

14.  File类的list开头方法

l  static File[] listRoots()返回系统根,封装成File对象,存储数组

l  String[] list()返回File构造方法封装的路径下的所有文件和文件夹

l  File[] listFiles()返回File构造方法封装的路径下的所有文件和文件夹,返回的Filed对象,带全路径

 

15.  list方法的文件过滤器、

  根据自己的需要,遍历目录的时候,只获取想要的文件,其他文件全部过滤

  File[]listFiles(FileFilter filter ),FileFilter是一个接口,传递实现类对象。查阅文档发现没有实现类。自己定义类实现FileFilter接口,重写方法accept,实现类的对象,传递给listFiles()方法。 listFiles方法负责调用实现类中的重写方法accept

 

16.  方法递归调用

  递归:编程技巧,方法自身调用,自己调用他自己

  method(){  method();}

  适用情况:方法的运算主体不变,每次运行的参数在变化

  遍历目录listFiles()只能遍历一个,每次都在遍历,但是每次遍历的目录是不同的

  递归的注意事项:

     递归一定要有条件限制,否则就死循环

     递归,方法进栈的次数不能太大

 

  斐波那契数列:

    有1对兔子,第1个月不生,第2个月不生,第3个月生下1对小兔子,以后每个月生下1对小兔子

    生下的小兔子,第1个月不生,第2个月不生,第3个月生下1对小兔子,以后每个月生下1对小兔子

    一年后,12个月,假如兔子都不死,一共有多少对兔子 144

  1  1 2  3  5 8  13  21 34  55  89  144从第3项开始,后面的一项是前面两项和

 

17.  使用方法递归,遍历全路径

  c:\\java    c:\\java\jre7   c:\\java\\jre7\\bin

都在遍历目录,每次的目录不同

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值