Calendar calendar = Calendar.getInstance();
calendar.set(calendar.HOUR, 8);
calendar.set(calendar.MINUTE, 45);
calendar.set(calendar.SECOND, 00);
Date d = calendar.getTime();
System.out.println(d);
Run Code Online (Sandbox Code Playgroud)
输出为:2011年10月5日星期三20:45:00 BST 2011
任何人都可以帮我解释为什么会这样吗?
我编写了一些代码,用于检索zip文件并将其解压缩到directoy中.zip文件包含两个文件夹,根据每个文件所在的文件夹,它将解压缩到该目录的文件夹中.
但是,代码运行时间很长(大约10分钟).虽然,文件夹中每个文件包含近1000个文件,但zip文件的总大小为5000kb.我认为它进展缓慢因为我每次进入循环时都在创建FileOutputStream和InputStream.但是,我需要这样做,因为我不知道文件的输出目录,直到我从zip文件中读取它.(即找出它所在的文件夹)
有什么建议?
/**
* Retrieves and unzips a file from its URL
*/
public void retrieveFiles(String URL) {
//Retrieve file from URL
File zip = new File(getFile(URL));
zip.mkdirs();
try {
//Create .zip file from file directory
ZipFile zipFile = new ZipFile(zip);
Enumeration<? extends ZipEntry> enumeration = zipFile.entries();
//While zip file contains elements, get the next zipped file
while (enumeration.hasMoreElements()) {
ZipEntry zipEntry = (ZipEntry) enumeration.nextElement();
//Ignore folders and other zip files
if(!zipEntry.isDirectory() && !zipEntry.getName().endsWith(".zip")){
//Find directory and filename for …
Run Code Online (Sandbox Code Playgroud) while(true){
try
{
if(Calendar.DATE == X){
startTask();
}
long delay = timeUntilNextCheck();
Thread.sleep(delay);
}
catch (Throwable t)
{
}
}
Run Code Online (Sandbox Code Playgroud)
我有一个程序,需要在一个月的特定日期运行特定任务.在任务运行之后(或者如果它不是那天),线程会一直睡到明天它将再次检查.
但是,我收到了死代码警告,因为部分代码仅在该月的特定日期运行.
我已经阅读了这个警告是什么,我发现在某些情况下编译器不会编译死代码.所以我的问题是,这总是会被编译吗?