JAVA基础--db20_java转换流_file对象&GUI

GUI:图形用户界面编程

Java为GUI提供的对象都在java.awt(需要调用本地系统,属重量级控件)和javax.swing(轻量级,增强了可移植性)包中

继承关系图:


时间监听机制:


事件监听机制流程图:


装插件:都是在eclipse主目录里的这两个文件夹


IO流:

读取键盘录入的数据,并打印在控制台上,键盘本身就是输入设备


这个流不需要关,是系统默认的,默认的输出设备也是不需要关的。

每一次读的时候,还有换行要读,\r\n

转换流:字节转字符InputStreamReader  这是一个字符流

读取键盘录入:一次读一行

public classHelloWorld {

   public static voidmain(String[] args) throws IOException{

      //字节流

      InputStream in = System.in;

      //字节流到字符流的桥梁

      InputStreamReader isr = newInputStreamReader(in);

      //字符流

      BufferedReader bufr = newBufferedReader(isr);

      String line = null;

      while ((line=bufr.readLine())!=null) {

         if("over".equals(line))

            break;

         System.out.println(line);

      }

   }

}

OutputStreamWriter:是字符流通向字节流的桥梁,也是字符流

这些转换流都是字符流,因为字符流后出,为了完善功能,肯定是字符流对象具备这个功能。读取是字节到字符,输出是字符到字节


前3句都可以合成一句话:

BufferedReaderbufr = new BufferedReader(new InputStreamReader(System.in));

BufferedWriterbufw = new BufferedWriter(new OutputStreamWriter(System.out));

为什么FileWriter不需要转换流,可以直接写字符?

有个惊天大咪咪,因为她本身就是转换流的子类

流的操作规律:



举例分析:



转换流还可以加编码表!按照指定的来编解码


FileWriter:用的是本机默认码表,无法指定



File类:

之前都是操作文件的内容,操作的是数据;现在要对文件系统和文件夹操作,流就操作不了了,流只能操作数据,下面要操作文件的属性等,只能用File对象

File对象常见方法:

1:获取

获取文件名称、获取文件路径、获取文件大小、获取文件最后修改时间等

2:创建与删除

返回的都是boolean    createNewFiles    delete  mkdir 等

3:判断

exists:存在吗

isXxx:是不是什么什么

一般先判断是否存在,然后再去判断是不是文件目录什么的

4:重命名

renameTo


5:系统根目录还和容量获取:静态方法

File[] files =File.listRoots();

For(File file :files){sys(file)}

//返回含有的盘符


6:获取目录内容

List();


7:常见功能:过滤器

String[]   list(FilternameFilter filter)

File[]    listFiles(FileFilter filter)

File[]    listFiles(FilenameFilter filter)


package filter;

 

importjava.io.File;

importjava.io.FilenameFilter;

 

public classFilterByPng implements FilenameFilter {

 

   @Override

   public booleanaccept(File dir, String name) {

     

      return name.endsWith(".png");

   }

 

}

不传入过滤器,列出来就是所有的

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值