您的位置:首页 > 产品设计 > UI/UE

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

2015-10-01 21:25 681 查看
GUI:图形用户界面编程

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

继承关系图:



时间监听机制:



事件监听机制流程图:



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



IO流:

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



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

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

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

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

public
class
HelloWorld {

public
static void
main(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
class
FilterByPng implements FilenameFilter {

@Override

public
boolean
accept(File dir, String
name) {

return
name.endsWith(".png");

}

}

不传入过滤器,列出来就是所有的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: