第九周课程总结&实验报告(七)

实验任务详情:
完成火车站售票程序的模拟。
要求:
(1)总票数1000张;
(2)10个窗口同时开始卖票;
(3)卖票过程延时1秒钟;
(4)不能出现一票多卖或卖出负数号票的情况。

package java7;

class Mythread implements Runnable  {
	private int ticket=1000;
    public void run() {
        for(int i=0;i<10000;i++)
        {
        synchronized(this) {
            if(ticket>0) {
                try {
                    Thread.sleep(1000);
                }catch(InterruptedException e) {
                    e.printStackTrace();
                }
System.out.println(Thread.currentThread().getName()+"售票:ticket"+ticket--);
            }
        }
    }
}

}
package java7;

public class test {
	public static void main(String[] args) {
	    Mythread my=new Mythread();
	    Thread t1=new Thread(my,"窗口1");
	    Thread t2=new Thread(my,"窗口2");
	    Thread t3=new Thread(my,"窗口3");
	    Thread t4=new Thread(my,"窗口4");
	    Thread t5=new Thread(my,"窗口5");
	    Thread t6=new Thread(my,"窗口6");
	    Thread t7=new Thread(my,"窗口7");
	    Thread t8=new Thread(my,"窗口8");
	    Thread t9=new Thread(my,"窗口9");
	    Thread t10=new Thread(my,"窗口10");
	    t1.start();
	    t2.start();
	    t3.start();
	    t4.start();
	    t5.start();
	    t6.start();
	    t7.start();
	    t8.start();
	    t9.start();
	    t10.start();
	}

}


学习总结:

IO相关 ——输入/输出 流指(数据流动)

1.流的种类:字节流,字符流,数据流,网络流,对象流,

2.什么叫文件:一种电脑的存储方式,文件有不同的格式如:.txt, .doc, .ppt, .mp4, .jpg, .java

文件夹不算文件

3.File类是与电脑电脑上文件或文件夹产生一一对应映射

    File是一个类,在Java.io包中,可以表示文件或目录路径名的抽象表示形式
    File与真实硬盘上的文件或文件夹不是一个东西,File是在内存中的一个对象
 ####   注意:硬盘上的文件名字是不区分大小写的,内存中File对象变量名区分大小写

4.File常用方法

获取File路径和检测状态:

1)操作File路径和名称:
File getAbsoluteFile() :获取绝对路径
String getAbsolutePath():获取绝对路径
String getPath() :获取文件路径
String getName() :获取文件名称
File getParentFile():获取上级目录文件
String getParent() :获取上级目录路径

2)检测File状态的方法:
boolean canExecute() :判断是否是可执行文件
boolean canRead() :判断该文件是否可读
boolean canWrite():判断该文件是否可写
boolean isHidden():判断该文件是否是隐藏文件
long lastModified():判断该文件的最后修改时间
long length():获取该文件的长度大小(单位字节)

File类中方法-

1)文件操作:

boolean isFile() :是否是文件
boolean createNewFile() :创建新的文件
static File createTempFile(String prefix, String suffix) :创建临时文件
boolean delete() :删除文件
void deleteOnExit() :在JVM停止时删除文件
boolean exists():判断文件是否存在
boolean renameTo(File dest) :重新修改名称

2)目录操作

boolean isDirectory() :判断是否是目录
boolean mkdir() :创建当前目录
boolean mkdirs() :创建当前目录和上级目录
String[] list() :列出所有的文件名
File[] listFiles() :列出所有文件对象
static File[] listRoots() :列出系统盘符

5.使用RandomAccessFile

实现从指定位置读取文件的功能
实现向文件中追加内容的功能
实现向文件指定位置插入内容的功能

6继承Thread类

多线程的定义语法:

class 类名称 extends Thread{
属性;
方法;

public void run(){
线程主体;
}
通过Runnable接口实现多线程:
class 类名称 implements Runnable{
属性;
方法;
}

原文地址:https://www.cnblogs.com/luoyuliang/p/11738987.html