将 java 改写成 beanshell 的经验之谈

摘要:
以下体验仅适用于android的bsh,PC上的bean shell不需要以这种方式更改。

下面经验仅仅针对 bsh for android 而谈, PC 上 beanshell 无需这样改。

public class TimeTest  改写为闭包: TimeTest() 

闭包末尾添加语句 return this;

public static void main(String[] args) 改写为: run()

最后添加
timetest = TimeTest(); // call 闭包 == new TimeTest()

timetest.run();

比如: TimeTest.bsh

import java.io.*;
import java.net.*;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.*;

TimeTest()
{
   private static DateFormat fmt = new SimpleDateFormat("yy-MM-dd HH:mm:ss") ;
 
   /** UTC -> local Time 
    */
   public static String getLocalTimeFromUTC(String UTCTime){
      java.util.Date UTCDate = null ;
      String localTimeStr = null ;
      try {
         UTCDate = fmt.parse(UTCTime);
         fmt.setTimeZone(TimeZone.getTimeZone("GMT+8")) ;
         localTimeStr = fmt.format(UTCDate) ;
      } catch (ParseException e) {
         print(e);
      }
      return localTimeStr ;
   }

   run()
   {  
      Calendar cal = new GregorianCalendar();
      zone = cal.getTimeZone().getID();
      print(zone);
      Date date1 = new Date();
      time1 = fmt.format(date1);
      print("my 20"+time1);
      try
      {  
         Socket s = new Socket("time.nist.gov", 13);
         try
         {
            InputStream inStream = s.getInputStream();
            Scanner in = new Scanner(inStream);
            
            while (in.hasNextLine())
            {  
               String line = in.nextLine();
               // print(line);
               if (line.length() >24){                  
                  String UTC = line.substring(6,24);
                  print("UTC  "+UTC);
                  print("CN 20"+getLocalTimeFromUTC(UTC));
               }
            }
         }
         finally
         {
            s.close();
         }
      }
      catch (IOException e)
      {  
         print(e);
      }
   }

   return this;
}

timetest = TimeTest();
timetest.run();



免责声明:文章转载自《将 java 改写成 beanshell 的经验之谈》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇海康、大华IPC的rtsp格式watch监听器的基本使用下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

MQTT协议的简单介绍和服务器的安装

转:http://blog.csdn.net/djun100/article/details/25752491   最近公司做的项目中有用到消息推送,经过多方面的筛选之后确定了使用MQTT协议,相对于XMPP,MQTT更加轻量级,并且占用用户很少的带宽。 MQTT是IBM推出的一种针对移动终端设备的基于TCP/IP的发布/预订协议,可以连接大量的远程传感器...

深入理解NIO(二)—— Tomcat中对NIO的应用

深入理解NIO(二)—— Tomcat中对NIO的应用 老哥行行好,转载和我说一声好吗,我不介意转载的,但是请把原文链接贴大点好吗 Tomcat大致架构 先贴两张图大致看一眼Tomcat的架构 Tomcat中只有一个Server,一个Server可以有多个Service,一个Service可以有多个Connector和一个Container; Ser...

delphi 自我删除和线程池(1000行代码,需要仔细研究)

[delphi]view plaincopy unitUnit4; interface uses Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms, Dialogs,StdCtrls,ShellAPI,ShlObj,uThreadPool; type TF...

如何用 Java 对 PDF 文件进行电子签章

一、概述 二、技术选型 三、生成一个图片签章 四、如何按模板生成PDF文件 五、如何生成PKSC12证书 六、如何生成一个高清晰的签章 七、如何进行多次PDF签名 八、总结 一、 概述 印章是我国特有的历史文化产物,古代主要用作身份凭证和行驶职权的工具。它的起源是由于社会生活的实际需要。早在商周时代,印章就已经产生。如今的印章已成为一种独特的,融实用性和艺...

Groovy 学习手册(5)

8. 函数式编程 函数式编程(FP)是一种编程风格,侧重于函数和最小化状态的变化(使用不可变的数据结构)。它更接近于用数学来表达解决方案,而不是循序渐进的操作。 在函数式编程里,其功能应该是“无副作用”(不会改变外部功能),参考透明的(一个函数每次传递相同的参数,返回相同的值)。 函数式编程可以被看作是一种更常见的命令式编程的替代,它更接近告诉计算机遵循每...

【java开发系列】—— java输入输出流

前言   任何语言输入输出流都是很重要的部分,比如从一个文件读入内容,进行分析,或者输出到另一个文件等等,都需要文件流的操作。这里简单介绍下reader,wirter,inputstream,outputstream的使用方法。其实Apache commons里面有个方法IOUtils可是实现方便快捷的流拷贝,感兴趣的可以参考官方文档。   JAVA的...