可能是你在使用 crontab 工具使其定时执行
发生了异常:而仅仅执行了
try{
 System.out.println(args[i]);          
}
catch(Exception e)    {    }

解决方案 »

  1.   

    修改代码如下:
    public class TestChina
    {
       static public void main(String[] args)
       {
           for (int i=0;i<args.length;i++)
           {
            try{
     System.out.println(args[i]);          
    }
    catch(Exception e)    {    }
    try    {
                 System.out.println(new String(args[i].getBytes("ISO8859-1"),"GB2312"));  
    }
    catch(Exception e) {    }
    try    {
    System.out.println(new String(args[i].getBytes(),"GB2312"));
    }
    catch(Exception e) {    }
    try    {
    System.out.println(new String(args[i].getBytes(),"ISO8859-1"));
    }
    catch(Exception e) {    }
    try    {
    System.out.println(new String(args[i].getBytes("GBK"),"ISO8859-1"));
    }
    catch(Exception e) {    }
           }
       }
    }
    在 命令行执行,得到如下输出
    /usr/bin/java -classpath / TestChina 中国包装总公司中国 1>/mnt/test
    中国包装总公司中国
    ?????????
    中国包装总公司中国
    ???¨&sup2;&iexcl;&atilde;¨&sup1;&iexcl;&Aacute;&iexcl;&atilde;&iexcl;&Aacute;????????¨&sup2;
    ???¨&sup2;&iexcl;&atilde;¨&sup1;&iexcl;&Aacute;&iexcl;&atilde;&iexcl;&Aacute;????????¨&sup2;
    但在 crontab 下,
    却输出
    ??????????????????
    ??????????????????
    ??????????????????
    ??????????????????
    ??????????????????
    怎么办?
      

  2.   

    在你运行crontab前.先读入你的profile.
    我想crontab不能读到你的profile,导致linux的环境变拉!!for instance:
    /home/user/.profile; /usr/bin/java -classpath / TestChina 中国包装总公司中国 1>/mnt/test