zoukankan      html  css  js  c++  java
  • 第九周课程总结&实验报告(七)

    实验任务详情:
    完成火车站售票程序的模拟。
    要求:
    (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{
    属性;
    方法;
    }

  • 相关阅读:
    .net web开发经典图书总结
    Asp.net Web API实战
    扩展方法之二分查找
    在线转换图片文件等
    如何减少代码中的分支语句
    web插件化解决方案 开发分享
    .NET 4.5 MEF 基于约定的编程模型重典
    所有排序总结(内排序)
    生成zip文件
    open source ESB and integration platform
  • 原文地址:https://www.cnblogs.com/luoyuliang/p/11738987.html
Copyright © 2011-2022 走看看