file类

File类

在这里插入图片描述
在这里插入图片描述

File递归遍历目录

在这里插入图片描述

package shiyan;

import java.io.File;

public class BankDemo
{
    public static void main(String[] args) {
        File a=new File("C:\\Users\\mangder\\Pictures");
        getall(a);
    }
    public static void getall(File a){
        File []s=a.listFiles();
        if(s!=null){
            for(File y:s){
                if(y.isDirectory()){
                    getall(y);
                }
                else{
                    System.out.println(y.getAbsolutePath());
                }
            }
        }

    }
}

字节流

输出流向File写数据
在这里插入图片描述
写的是a
记得释放资源
281

字节流写数据

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
如何换行
a.write("\r\n")即可
如何追加信息
加一个true的形参即可
在这里插入图片描述

在这里插入图片描述

加异常处理

一般都用throws
但是try catch也要掌握

字节流读数据

单个读取:
在这里插入图片描述
循环读取
在这里插入图片描述
注意:可以读取换行
优化:
在这里插入图片描述
读取一个数组
意思是一次性读1024个符号
在这里插入图片描述

复制文件

在这里插入图片描述

复制图片

在这里插入图片描述

字节缓冲流

在这里插入图片描述
在这里插入图片描述

字符流:

在这里插入图片描述
在这里插入图片描述

字符流写数据

在这里插入图片描述
在这里插入图片描述
还可以指定字符类型
在这里插入图片描述

读数据:

在这里插入图片描述

在这里插入图片描述

Inputstreamreader的子类:Filereader,对应Filewriter

在这里插入图片描述

字符缓冲流

在这里插入图片描述

字符缓冲流特有功能

在这里插入图片描述
写数据:
在这里插入图片描述
读数据
在这里插入图片描述

复制文件的改进

在这里插入图片描述

总结:

在这里插入图片描述
在这里插入图片描述

集合到文件

在这里插入图片描述

文件到集合

在这里插入图片描述

文件到集合高级版(排序)

treeset记得重写comparable方法,还得分主要和次要条件
在这里插入图片描述
录入学生成绩(已经按照treeset定义的顺序进行排序了)
在这里插入图片描述
写入文件并释放资源在这里插入图片描述
309

进程和线程:

进程:正在执行的应用程序
线程:在一个进程内部可以执行一个任务也可以执行多个任务,一个任务执行路径就可以看成一个线程
单线程:比如设置框弹出式比许将设置框的选项勾号后才能关闭它,这就是单线程
多线程:计时器
多线程的实现方法:
在这里插入图片描述
线程的命名
用无参构造方法命名:
直接用setName即可
在这里插入图片描述
带参构造方法:

在自定义的线程类中构造带参构造方法
public testthread extend Thread{
	public testthread(String name){
		super(name)
	}	
}

然后再测试类中调用即可

查看和设置线程的优先级

最大优先级:10 Tread.MAXPRIORITY
最小优先级:1 Tread.MINPRIORITY
设置优先级:.setpriority
查看优先级:.getpriority

线程的控制

在这里插入图片描述
sleep
在这里插入图片描述
join

在这里插入图片描述

线程的生命周期

在这里插入图片描述

实现runabble的接口

构造方法
在这里插入图片描述
测试类
在这里插入图片描述
接口类
在这里插入图片描述

卖票bug

买票bug
以下三点三个全部满足才可能出现问题
在这里插入图片描述

package 卖票;

public class 买票 {
    public static void main(String[] args) {
        买票接口 x1=new 买票接口("窗口1");
        买票接口 x2=new 买票接口("窗口2");
        买票接口 x3=new 买票接口("窗口3");

        x1.start();
        x2.start();
        x3.start();
    }
}


package 卖票;

public class 买票接口 extends Thread{
    private int tickets=100;
    public 买票接口(String name){
        super(name);
    }
    public 买票接口(){}
    @Override
    public void run() {
        while(tickets>0){
            System.out.println(getName()+":"+tickets);
            tickets--;
        }
    }
}


解决方案:

在这里插入图片描述

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值