zoukankan      html  css  js  c++  java
  • 定时器下利用轮询技术

    我们目前仅仅做了一个关于轮询读文件写文件的方式

    首先我们要明白定时器的方法,然后我们就可以实现定时发出询问,看文件夹中有那些文件读出它,能简单的做到实时的操作写到文件中的内容

    1、先看定时器

    1 Timer timer = new Timer();
    2 //调度读取、删除文件的定时器,第一个参数是指被调度的任务、第二个参数是指延迟多少毫秒、第三个参数是指间隔多少执行任务
    3 timer.schedule(new lxTask(), 300, 2000);

    上面注释的部分就简单的介绍了我们写入的参数,所以我们接下来写文件、读文件都将写在lxTask()类中

    2、读、删文件

     1 public class lxTask extends TimerTask{
     2     //在线程中用
     3     public void run() {
     4         List<File> files = readFile("e:/Test/");     //先指定文件夹路径下的文件
     5         for (File file : files) {
     6             try {
     7                //获得该文件输入流
     8                InputStream is = new FileInputStream(new File("e:/Test/"+file.getName()));
     9                byte b[] = new byte[Integer.parseInt(new File("e:/Test/"+file.getName()).length() + "")];
    10                is.read(b);
    11                is.close();
    12                //拼接本地路径,找到文件
    13                String pString = "e:/Test/"+file.getName();
    14                //删除该文件
    15                File f = new File(pString);
    16                f.delete();
    17             } catch (FileNotFoundException e) {
    18                 e.printStackTrace();
    19             } catch (IOException e) {
    20                 e.printStackTrace();
    21             }
    22         }
    23     }
    24 }

       写文件

     1 public class xlTask extends TimerTask{
     2     public void run() {
     3         //写文件,固定文件名,当然也可以使用list写入多个文件名
     4         File Path = new File("e:/Test/A.txt");
     5         if (!Path.exists() || !Path.isFile()) {
     6             try {
     7                 Path.createNewFile();
     8             } catch (IOException e) {
     9                 e.printStackTrace();
    10             }
    11         }
    12         try {
    13             PrintWriter pw = new PrintWriter(Path);
    14             //具体往文件写什么
    15             pw.write("=====写入=====");
    16             pw.close();
    17         } catch (FileNotFoundException e) {
    18             e.printStackTrace();
    19         }
    20     }
    21 }

    此时我们简单的轮询写、删、读文件就完成了,当然,这些方法可能有缺陷和不适用的地方

  • 相关阅读:
    使用Fiddler抓包(手机端app)
    IE浏览器跳转url正常,谷歌浏览器跳转报403状态
    书签
    工作记录
    MySQL索引、锁和优化
    Pytorch-张量的创建与使用方法
    网络请求
    数据挖掘的五大流程
    uni开启下拉刷新
    uni-app中的tabBar配置
  • 原文地址:https://www.cnblogs.com/ytlds/p/5661466.html
Copyright © 2011-2022 走看看