equal
deleted
inserted
replaced
30 import java.io.IOException; |
30 import java.io.IOException; |
31 import java.io.RandomAccessFile; |
31 import java.io.RandomAccessFile; |
32 import java.text.MessageFormat; |
32 import java.text.MessageFormat; |
33 import java.util.ArrayList; |
33 import java.util.ArrayList; |
34 import java.util.Arrays; |
34 import java.util.Arrays; |
|
35 import java.util.Calendar; |
35 import java.util.Collections; |
36 import java.util.Collections; |
36 import java.util.HashMap; |
37 import java.util.HashMap; |
37 import java.util.HashSet; |
38 import java.util.HashSet; |
38 import java.util.Iterator; |
39 import java.util.Iterator; |
39 import java.util.List; |
40 import java.util.List; |
1305 javatime = dosToJavaTime(nativetime); |
1306 javatime = dosToJavaTime(nativetime); |
1306 } |
1307 } |
1307 return javatime; |
1308 return javatime; |
1308 } |
1309 } |
1309 |
1310 |
1310 // From java.util.zip |
1311 // based on dosToJavaTime in java.util.Zip, but avoiding the |
1311 private static long dosToJavaTime(int nativetime) { |
1312 // use of deprecated Date constructor |
1312 // Bootstrap build problems prevent me from using the code directly |
1313 private static long dosToJavaTime(int dtime) { |
1313 // Convert the raw/native time to a long for now |
1314 Calendar c = Calendar.getInstance(); |
1314 return (long)nativetime; |
1315 c.set(Calendar.YEAR, ((dtime >> 25) & 0x7f) + 1980); |
|
1316 c.set(Calendar.MONTH, ((dtime >> 21) & 0x0f) - 1); |
|
1317 c.set(Calendar.DATE, ((dtime >> 16) & 0x1f)); |
|
1318 c.set(Calendar.HOUR_OF_DAY, ((dtime >> 11) & 0x1f)); |
|
1319 c.set(Calendar.MINUTE, ((dtime >> 5) & 0x3f)); |
|
1320 c.set(Calendar.SECOND, ((dtime << 1) & 0x3e)); |
|
1321 c.set(Calendar.MILLISECOND, 0); |
|
1322 return c.getTimeInMillis(); |
1315 } |
1323 } |
1316 |
1324 |
1317 void setNativeTime(int natTime) { |
1325 void setNativeTime(int natTime) { |
1318 nativetime = natTime; |
1326 nativetime = natTime; |
1319 } |
1327 } |