`
文章列表
这个demo是用webwork实现的,原理上和用Struts 2完全一样。实现多文件上传和页面无刷新效果,用iframe技术实现了页面无刷新功能。上传成功后,后台向前台反馈上传成功的文件信息。 UploadAction.java 实现文件上传功能的action类。 package net.androidla.action; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.i ...
事例用的是org.apache.tools.zip包下面的一些类,jdk自带的zip工具类当文件名是中文的情况下会出现问题,本事例可以递归压缩文件和解压文件,功能上和现在常用的一些压缩软件功能类似,暂时没有做性能上的对比。 package zip; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io ...
使用了 commons-fileupload-1.2.2.jar 和 commons-io-2.0.1.jar 两个组件。 后台 UploadServlet.java: package upload; import java.io.File; import java.io.IOException; import java.io.PrintWriter; import java.util.Iterator; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Patter ...
  今天特抑郁,早上开机后发现eclipse的代码提示功能不好使了,Alt+/ 这么也不给提示,打对象.也点不出方法来。  于是就上网去查,在百度中查到了如下方法:   1、菜单window->Preferences->Java->Editor->Content Assist->Enable auto activation 选项要打上勾   2、windows-->preference-->workbench-->keys 下设置Content Assist 的快捷键   3、window->Preferences-&g ...
package com.chen.java; import java.io.File; import java.io.FileReader; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import javax.script.Invocable; import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; import com.chen.interfaces.Greeter; ...
HashMap,LinkedHashMap,TreeMap都属于Map。 Map 主要用于存储键(key)值(value)对,根据键得到值,因此键不允许键重复,但允许值重复。 HashMap 是一个最常用的Map,它根据键的 HashCode 值存储数据,根据键可以直接获取它的值,具有很快的访问速度。HashMap最多只允许一条记录的键为Null;允许多条记录的值为 Null;HashMap不支持线程的同步,即任一时刻可以有多个线程同时写HashMap;可能会导致数据的不一致。如果需要同步,可以用 Collections的synchronizedMap方法使HashMap具有同步的能力。 ...
void join() Waits for this thread to die. void join(long millis) Waits at most millis milliseconds for this thread to die. void join(long millis, int nanos) Waits at most millis milliseconds plus nanos nanoseconds for this thread to die. Thread.join()应该是让当前线程block住,等线程执行完之后,再继续执行,而且可以设置让当 ...
1.左移操作: x << n x可以是byte, short, char, int, long基本类型, n(位移量)只能是int型 编译器的执行步骤: 1) 如果x是byte, short, char类型, 则将x提升为int; 2) 如果x是byte, short, char, int类型, 则n被重新赋值(过程是:取n的补码的低5位再转成十进制的int值,相当对n取32模: n=n%32);    如果x是long型, 则n被重新赋值(过程是:取n的补码的低6位再转成十进制的int值,相当对n取64模: n=n%64);    (因为int类型为4个字节,即32位,移动32位 ...
Ubuntu 安装wine时,停在了一个地方“正在设定ttf-mscorefonts-installer”,怎么过去呢? 原来要一直下拉下拉到底才可以点确定。。。。 确定无法点击? 原来要用 tab 才能选中它。 ok,确定以后就可以继续了!
  一不小心把刚安装的Ubuntu10.04最上面的面板给删除了,很不方便,还好很快恢复。方法如下(其实也就是删除配置文件再重启恢复默认):   先想办法启动终端。在下面的面板单击鼠标右键-添加到面板-主菜单,主菜单-附件-终端,这样就可以启动终端   然后在终端中输入命令       rm -rf /home/lily/.gconf*   红色部分用删除面板时的用户名代替   之后重启系统       sudo reboot now   重启之后上面的面板就可以恢复了,不过关于输入法的设置,包括Empathy设置的账号,以及我添加到面板上的终端快捷方式都没有了,要重新设回来,因为 ...
我们在使用List,Set的时候,为了实现对其数据的遍历,我们经常使用到了Iterator(跌代器)。使用跌代器,你不需要干涉其遍历的过程,只需要每次取出一个你想要的数据进行处理就可以了。 但是在使用的时候也是有不同的。List和Set都有iterator()来取得其迭代器。对List来说,你也可以通过listIterator()取得其迭代器,两种迭代器在有些时候是不能通用的,Iterator和ListIterator主要区别在以下方面: 1. ListIterator有add()方法,可以向List中添加对象,而Iterator不能。 2. ListIterator和Iterator都有 ...
1,下载 JDK6 到 /opt/java/jdk-6u26-linux-i586.bin 2,chmod 755 jdk-6u26-linux-i586.bin 3,./jdk-6u26-linux-i586.bin 4,安装完毕后,gedit /etc/profile 5,将如下信息复制到profile文件末尾: #set java environment JAVA_HOME=/opt/java/jdk1.6.0_26 export JRE_HOME=/opt/jdk1.6.0_26/jre export CLASSPATH=.:$JAVA_HOME/lib:$ ...
方法如下:   Ubuntu 下安装 OpenSSH Server 是无比轻松的一件事情,需要的命令只有一条:  sudo apt-get install openssh-server   (查看返回的结果,如果没有出错,则用putty、SecureCRT、SSH Secure Shell Client等SSH 客户端软件,输入您服务器的 IP 地址。如果一切正常的话,等一会儿就可以连接上了。并且使用现有的用户名和密码应该就可以登录了。)     然后确认sshserver是否启动了:(或用“netstat -tlp”命令)   ps -e | grep ssh   如果只有s ...
首先 sudo -s -H 到root下 然后 sudo passwd 键入root密码
设置方法 依次进入“系统”->“首选项”->“键盘快捷键”。 找到“动作”->“运行终端”,运行终端的快捷键默认是禁用的,可以点击新建快捷方式,并按下“Windows徽标键+R”,点击关闭,即设置成功。 同时可以在键盘管理器里根据自己的使用习惯修改很多快键键。
Global site tag (gtag.js) - Google Analytics