<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>BUG的宠物</title>
    <description></description>
    <link>http://pet.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
          <item>
        <title>让界面更加绚丽</title>
        <author>zhangbug</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://pet.javaeye.com">zhangbug</a>&nbsp;
                    链接：<a href="http://pet.javaeye.com/blog/188717" style="color:red;">http://pet.javaeye.com/blog/188717</a>&nbsp;
          发表时间: 2008年05月01日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          在BlogJava看到了一篇文章,讲的很好很实用,先记录在这,等有空了再写些个人的心得.<br /><a href="http://www.blogjava.net/nokiaguy/archive/2008/04/29/197246.html" target="_blank">Java SE 6之GUI：让界面更加绚丽(上)</a><br /><a href="http://www.blogjava.net/nokiaguy/archive/2008/04/30/197594.html" target="_blank">Java SE 6之GUI：让界面更加绚丽(下)</a>
          <br/><br/>
          <span style="color:red;">
            <a href="http://pet.javaeye.com/blog/188717#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">Windows7在微软WinHEC 2008上揭开神秘面纱</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 01 May 2008 21:39:49 +0800</pubDate>
        <link>http://pet.javaeye.com/blog/188717</link>
        <guid>http://pet.javaeye.com/blog/188717</guid>
      </item>
          <item>
        <title>Java获得文件创建时间</title>
        <author>zhangbug</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://pet.javaeye.com">zhangbug</a>&nbsp;
                    链接：<a href="http://pet.javaeye.com/blog/188313" style="color:red;">http://pet.javaeye.com/blog/188313</a>&nbsp;
          发表时间: 2008年04月30日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          最近被文件创建时间搞的很郁闷,在CSDN和Javaeye上发贴问了很多高人,感慨跨平台的东西不一定就是最实用的.一个小小的时间字符串就要这么麻烦.<br />Java的File类只提供了一个获取文件最后一次修改时间的方法<span style="color: red">lastModified()</span>.官方API中描述为"返回此抽象路径名表示的文件最后一次被修改的时间."<br />听听来自CSDN的声音:<br /><ol><li>"UNIX或LINUX平台下文件系统中就没有保存文件的创建时间,只有文件的最后修改的时间。否则的话,JAVA中File类就应该有支持这个属性的方法了."</li><li>"在Linux中,没有文件创建时间的概念.只有文件的访问时间、修改时间、状态改变时间.也就是说不能知道文件的创建时间."</li><li>"若LINUX下文件创建好以后全是文件读操作(没有执行过存盘操作),则取的文件修改时间就是文件创建的时间."</li><li>"我想在LINUX下,就以修改时间为你的文件时间.如:只要不改文件就行.</li>方法:如要获取文件mydata.dat,则: 命令:ls --full-time mydata.dat 显示结果:-rw-r--r-- 1 root root 0 <span style="color: red">2008-04-26 22:47:50</span>.000000000 +0800 mydata.dat 上边红色的就是你要的.你就用JAVA直接取吧.上述ls命令外,用的是最后修改时间,倒不如直接用JAVA的File类取最后修改时间了"<br /></ol><br />基于以上讨论,下面方法仅限于Windows平台.<br /><span style="color: red">通过Java JNI取得文件创建时间</span>.需要用到VC++6.0.<br /><ul><li>在VC中创建一个Win32 Dynamic-Link Library工程MyFileTime</li><li>添加头文件MyFileTime.h,内容为</li><pre name="code" class="c">#include &lt;jni.h>
/* Header for class MyFileTime */

#ifndef _Included_MyFileTime
#define _Included_MyFileTime
#ifdef __cplusplus
extern "C" {
#endif
/*
 * Class:     MyFileTime
 * Method:    getFileCreationTime
 * Signature: (Ljava/lang/String;)Ljava/lang/String;
 */
JNIEXPORT jstring JNICALL Java_cn_imu_jni_MyFileTimegetFileCreationTime
  (JNIEnv *, jobject, jstring);

#ifdef __cplusplus
}
#endif
#endif</pre><li>添加C++类文件MyFileTime.cpp,内容为</li><pre name="code" class="c">#include &lt;windows.h>
#include "MyFileTime.h"

JNIEXPORT jstring JNICALL Java_cn_imu_jni_MyFileTime_getFileCreationTime(JNIEnv *env, jobject cls, jstring FileName)
{
    HANDLE hFile;
    FILETIME creationTime;
    FILETIME lastAccessTime;
    FILETIME lastWriteTime;
    FILETIME creationLocalTime;
    SYSTEMTIME creationSystemTime;
    jstring result;
    char fileTimeString[30];
    
    hFile = CreateFile((char *)env->GetStringUTFChars(FileName, 0), GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL);
    if(hFile == INVALID_HANDLE_VALUE) return env->NewStringUTF("");
    if(GetFileTime(hFile, &creationTime, &lastAccessTime, &lastWriteTime))
    {
        if(FileTimeToLocalFileTime(&creationTime, &creationLocalTime))
        {
            if(FileTimeToSystemTime(&creationLocalTime, &creationSystemTime))
            {
                sprintf(fileTimeString, 
                    "%04d-%02d-%02d %02d:%02d:%02d\0", 
                        creationSystemTime.wYear, 
                        creationSystemTime.wMonth, 
                        creationSystemTime.wDay, 
                        creationSystemTime.wHour, 
                        creationSystemTime.wMinute, 
                        creationSystemTime.wSecond);
                result = env->NewStringUTF(fileTimeString);
            }
            else
                result = env->NewStringUTF("");
        }
        else
            result = env->NewStringUTF("");
    }
    else
        result = env->NewStringUTF("");
    CloseHandle(hFile);
    return result;
}</pre><li>编译工程,生成MyFileTime.dll文件</li><li>在Java项目的cn.imu.jni包中添加类MyFileTime,内容为</li><pre name="code" class="java">package cn.imu.jni;

public final class MyFileTime {
	/**
	 * @param args
	 */
	static {
        System.loadLibrary("MyFileTime");
    }
    private static native String getFileCreationTime(String fileName);
    public static String getCreationTime(String fileName) {
        return getFileCreationTime(fileName);
    }
    public static void main(String[] args) {
        System.out.println(MyFileTime.getCreationTime("c:/db.txt"));
    }
}</pre><br /></ul><br /><strong>注意</strong>:<br /><ul><li>头文件和类文件中的方法名中cn_imu_jni_MyFileTime字符串对应Java项目中的cn.imu.jni.MyFileTime,若包和类名不同,在C++代码中需要相应的更改.</li><li>如果在VC++中编译时遇到缺少jni.h和jni_md.h,可以在%JAVA_HOME%\include和%JAVA_HOME%\include\win32目录中找到,copy到Microsoft Visual Studio\VC98\Include目录中或放到VC能找到的classpath即可.</li></ul>
          <br/><br/>
          <span style="color:red;">
            <a href="http://pet.javaeye.com/blog/188313#comments" style="color:red;">已有 <strong>2</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">Windows7在微软WinHEC 2008上揭开神秘面纱</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 30 Apr 2008 10:42:55 +0800</pubDate>
        <link>http://pet.javaeye.com/blog/188313</link>
        <guid>http://pet.javaeye.com/blog/188313</guid>
      </item>
          <item>
        <title>很有意义的算术题，简单富有哲理！！</title>
        <author>zhangbug</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://pet.javaeye.com">zhangbug</a>&nbsp;
                    链接：<a href="http://pet.javaeye.com/blog/188276" style="color:red;">http://pet.javaeye.com/blog/188276</a>&nbsp;
          发表时间: 2008年04月30日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          如果令: <br />A B C D E F G H I J&nbsp; K L M N O P Q R S T U V W X Y Z 分别等于百分之 1 2 3 4 5 6&nbsp; 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26<br />那么Hard work （努力工作）<br />H+A+R+D+W+O+R+K= 8+1+18+4+23+15+18+11 = 98%<br />Knowledge（知识）<br />K+N+O+W+L+E+D+G+E= 11+14+15+23+12+5+4+7+5 = 96%<br />Love（爱情）<br />L+O+V+E=12+15+22+5 = 54%<br />Luck（好运）<br />L+U+C+K=12+21+3+11 = 47%<br />(这些我们通常认为重要的东西往往并不是最重要的)<br />什么能使得生活变得圆满？<br />是Money（金钱）吗? ...<br />不! M+O+N+E+Y = 13+15+14+5+25 = 72%<br />是Leadership（领导能力）吗? ...<br />不! L+E+A+D+E+R+S+H+I+P = 12+5+1+4+5+18+19+9+16 = 89%<br />那么，什么能使生活变成100%的圆满呢？<br />每个问题都有其解决之道，只要你把目光放得远一点！<br />ATTITUDE（心态）<br />A+T+T+I+T+U+D+E =1+20+20+9+20+21+4+5 = 100%<br />我们对待工作、生活的态度能够使我们的生活达到100%的圆满！
          <br/><br/>
          <span style="color:red;">
            <a href="http://pet.javaeye.com/blog/188276#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">Windows7在微软WinHEC 2008上揭开神秘面纱</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 30 Apr 2008 09:46:19 +0800</pubDate>
        <link>http://pet.javaeye.com/blog/188276</link>
        <guid>http://pet.javaeye.com/blog/188276</guid>
      </item>
          <item>
        <title>Java项目打包并最终发布为可执行程序</title>
        <author>zhangbug</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://pet.javaeye.com">zhangbug</a>&nbsp;
                    链接：<a href="http://pet.javaeye.com/blog/186475" style="color:red;">http://pet.javaeye.com/blog/186475</a>&nbsp;
          发表时间: 2008年04月24日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          本文仅为像我一样曾经为方便的执行自己编写的java程序迷茫的人介绍一些个人经验.<br />编译环境 MyEclipse 6.0.1<br /><strong>如果只想发布为一个可执行的jar包,使用eclipse的Export功能就可以了</strong><br /><ul><li>使用eclipse的Export功能,将项目中的所有package打包为一个pet.jar文件,假定项目中所有配置文件都在项目根目录的config文件夹.</li><li>新建一个文件夹bushu,将项目中的config文件夹放进来</li><li>用winrar打开项目引用的所有jar文件,将文件中的所有包文件夹添加进pet.jar文件</li><li>创建pet.dat文件,内容:start java -Xmx512m -jar pet.jar</li><li>运行pet.dat</li></ul><br /><strong>如果最终想发布为可执行程序 我使用开源项目jsmooth提供的软件</strong> <a href="http://jsmooth.sourceforge.net/" target="_blank">项目地址</a><br /><ul><li>使用eclipse的Export功能,将项目中的所有package打包为一个pet.jar文件,我的项目中所有配置文件都在项目根目录的config文件夹.</li><li>新建一个文件夹bushu,将项目中的config文件夹、引用的外部jar包和pet.jar文件都放进来,所有包文件都放到bushu下的lib目录下</li><li>打开jsmooth,新建一个项目,设置好后编译就可以生成exe文件,附件中我截取了所有jsmooth配置的图片.</li></ul><br /><br />目前主要精力都放在项目的开发上,开发完成后可能要在100多个点安装,下一步打算研究一下类似病毒库或遨游的自动更新功能,有谁有过相关的经验来指导下,谢谢.<br /><br /><span style="color: red">在BlogJava上看到一篇好文,很好很强大 </span><a href="http://www.blogjava.net/huliqing/archive/2008/04/18/193907.html" target="_blank">一键搞定Java桌面应用安装部署—exe4j+Inno Setup带着JRE,8M起飞</a>
          <br/><br/>
          <span style="color:red;">
            <a href="http://pet.javaeye.com/blog/186475#comments" style="color:red;">已有 <strong>6</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">Windows7在微软WinHEC 2008上揭开神秘面纱</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 24 Apr 2008 17:37:15 +0800</pubDate>
        <link>http://pet.javaeye.com/blog/186475</link>
        <guid>http://pet.javaeye.com/blog/186475</guid>
      </item>
      </channel>
</rss>