java读取linux服务器文件是否有新文件产生

好久没有写博客了,最近有点忙........
废话不说,直接说所要实现的功能。

需要从linux服务器上读取文件夹,知道该文件夹有没有新的文件产生,后期还需要发送到其他平台上(发送其他平台就不说了)
思路:开始我想使用监听器呢,但是要求不能使用监听器,所以就放弃了, 我直接读取新产生的文件,使用linux脚本
依赖如下:

<!-- ganymed-ssh2-->
        <dependency>
            <groupId>ch.ethz.ganymed</groupId>
            <artifactId>ganymed-ssh2</artifactId>
            <version>build210</version>
        </dependency>
/**
     *
     * @param record linux服务器的脚本
     * 		  host :服务器的地址
     *        port :端口号
     *        user :服务器的名称
     *        pswd :服务器的密码
     *		 我的脚本是这样的(cd /root/test;find . -cmin -5 -type f) 5分钟内的产生的文件
     * @return 
     */
private List<String> linuxUtils(String record) {
        List<String> file = new ArrayList<>();
        Connection conn = new Connection(host, port);//host:是服务器的地址 
        try {
            // 启动连接
            conn.connect();
            conn.authenticateWithPassword(user, pswd);
            Session session = conn.openSession();
            session.getStdout();
            session.execCommand(record);
            InputStream stdout = new StreamGobbler(session.getStdout());
            BufferedReader br = new BufferedReader(new InputStreamReader(stdout));
            while (true) {
                String line = br.readLine();
                if (line == null)
                    break;
                file.add(line);
            }
            conn.close();
            session.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return file;
    }
上一篇:Java中JDBC的操作


下一篇:采用JDBC 连接MySQL 数据库并查询数据