IO流知识要点

1.File类 能表示目录和文件两种东东

方法:public String[] list();目录(dir)的情况下,就是子目录;文件(file)的情况下,就是文件的名字

public File[]  listFiles();..子目录或者....文件的实例(全的地址);

另有interface FilenameFilter接口

接口就一定有未实现的方法,所以必须实现以下内容

FilenameFilter fnameFilter = new FilenameFilter() {
    
    @Override
    public boolean accept(File dir, String name) 

accept是一种阻塞形式的IO和监听端口方法。
如果有数据过来会唤醒此方法,内部用的wait()、notity()

public String[] list(FilenameFilter f)有文件目录过滤器的构造方法,重写FilenameFilter,对name参数处理,想要的返回true,不想要的返回false,就可以实现文件名过滤器;

通过FileFilter接口,同样可以实现文件过滤名方法

public File[] listFiles(FileFiter f)

FileFilter ff = new FileFilter() {
    @Override
    public boolean accept(File pathname) {
        // TODO Auto-generated method stub
        if(pathname.getName().endsWith(".exe"))
            return true;
        
        return false;

boolean exist();

boolean isFile();

boolean isDirectory();

String getName();获得文件的名称

String getObsolutePath();获得文件的绝对路径

long length();获得文件的长度,字节数

boolean createNewFile();创建新的文件

 

2.FileInputStream文件输入流FileOutputStream文件输出流,合成输入输出流

这块玩的还不66

基本使用,FileInputStream读取read(buffer[]),文件输入流文件输入流

FileReader字符输入流,FileWriter字符输出流

write(里面可以是字符串和数组)

read(里面可以是带有缓冲池的数组)

 

readLine()功能:读取一个文本行。 

read()功能:读取单个字符的个数,如果已经读完的话会返回-1 

只有write,才需要flush(),read是不用flush的,记得关闭流

write(int), writeInt(int) 的区别
在java DataOutputStream 中,定义的2个方法 write(int), writeInt(int), 它们接收的参数都是 int,但却有着本质的区别。

data系列的都是四个四个读取的

write(int) 
write(int) 继承自父类OutputStream,接收的虽然是int, 但是它只向输出流里写一个字节。我们知道,在java中,一个int 数子是4个字节组成,write(int) 只写入int的最低位的一个字节,其它3个字节被抛弃。

例如: write(-100),

int -100  的32位二进制码为:  11111111_11111111_11111111_10011100

那么, write(-100),实际上只写了最低的8位到输出流:10011100。

writeInt(int)
writeInt(int),是把整个32位都写入输出流。 

那么, write(-100),写了32位到输出流:11111111_11111111_11111111_10011100。
--------------------- 
作者:xd大勇 
来源:CSDN 
原文:https://blog.csdn.net/xidianliuy/article/details/51579071 
版权声明:本文为博主原创文章,转载请附上博文链接!

3.Properties类

Properties pro = new Properties();

pro.load(new FileInputStream(new File("1.txt")));

String username =properties.getProperty("username");

 

数组转字符串的方法String.valueOf(数组的名字)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值