易截截图软件、单文件、免安装、纯绿色、仅160KB

在Java中锁文件的例子

1.如果在下面的代码中,tryLock改成lock,那么会一直等待,直到能够锁上文件为止,但tryLock会立即返回。
如果一个调用了tryLock,或lock并且成功锁上指定文件后的程序,在没有释放文件锁的情况下(没有调用release)程序就结束(包含强制结束的情况),那么文件锁会自动被释放。
2.代码中的sleep是为了便于验证程序用的。比如,在sleep阶段,你可以试着修改别锁住的文件并保存更改。或者再次调用本程序来验证。
本程序在如下平台下验证通过:
OS: Windwos XP
java version "1.6.0_20"
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.nio.channels.FileChannel;
public class FileLock {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("##################### start. ");
if (args.length != 1) {
System.out.println("parameter is invalid.");
return;
}
RandomAccessFile input = null;
try {
input = new RandomAccessFile(args[0], "rw");
} catch (FileNotFoundException fe) {
System.out.println("file is not found.");
return;
}
FileChannel channel = input.getChannel();
java.nio.channels.FileLock lock = null;
try {
// Lock is existed, tryLock return null.
lock = channel.tryLock();
System.out.println("lock called.");

if (lock == null) {
System.out.println("lock is null");
return;
}
if (lock.isShared()) {
System.out.println("lock isShared.");
} else {
System.out.println("lock not Shared.");
}
if (lock.isValid()) {
System.out.println("lock isValid.");
} else {
System.out.println("lock Valid.");
}
try {
Thread.sleep(10000);
} catch (InterruptedException ie) {
System.out.println("InterruptedException.");
}
} catch (IOException ie) {
System.out.println("lock file failed.");
System.out.println(ie.toString());
} finally {
try {
if (lock != null) {
lock.release();
}
channel.close();
if (input


相关文档:

Java实现Eamil发送


import java.util.Date;
import java.util.Properties;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import org.apache.commons.logging.Log;
import org.apache.commons.loggin ......

用Java写爬网页的小工具

其实也不是爬网页,只是从一个XML文件取URL,然后抓取网页内容。
主要有几点,备忘:
1. 全局代理,设置之后所有的URL都使用此代理,这样可以直接调用FileUtils.copyURLToFile:
private void initProxy(String host, int port,
final String username, final String password) {
Authenticator.setDefault(new Aut ......

JAVA并发编程实践

最近读完<Java并发编程实践>,无疑这是一本好书,它使得我对线程,锁,以及与并发相关的
一些知识体系更加完备,闲话不多说,下面我系统梳理了下里面的一些理论要点,相信实践上
面,大家或多或少都会有体会,那么用理论的知识点将实践体会笼络起来,将会形成更加牢固
和完备的知识体系,至少我这么认为,写这一篇笔记也是用以 ......

java 的悲哀swingx死了

虽然可以通过 https://swinglabs.dev.java.net/ 访问但是已经停止更新了,不知道新东家oracle是否会资助。
子项目
名称
摘要


actions
A simple framework for declarative actions in Swing apps
aerith
Cool JavaOne Demo
appframework
Swing Application Framework
beansbinding
Beans Bind ......

java字符编码原理浅析

本周遇到一个java乱码问题,于是对java的编码问题做了一些实验和了解。简单分析如下:
先看下如下代码:
import
java.io.UnsupportedEncodingException;
public
class
CharSetTest {

public
static
void
main(String[] args)
throws
UnsupportedEncodingException {
String test =
"
篮球
" ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号