java/ch/wlkl/javaExamples/ExUtil.java
/*
* ExUtil.java
*
* Created on 28. Dezember 2003, 18:25
*/
/**
*
* @author walter
*/
package ch.wlkl.javaExamples;
import java.util.*;
import java.util.jar.*;
import java.util.zip.*;
import java.text.*;
import java.io.*;
public class ExUtil {
Java.Graf2 g = new Java().new Graf2(1, 3);
void set() {
Set hs = new HashSet();
for (int i = 0; i < 3; i++)
System.out.println("add1 " + hs.add(new Integer(1)) + ", size "
+ hs.size());
hs.add("eins");
hs.add(new Float(1.0 / 3));
hs.add(new Date());
for (int i = 3; i < 6; i++)
hs.add(new Integer(i));
int i = 0;
System.out.println("set has size " + hs.size() + ", and looks like "
+ hs);
for (Iterator it = hs.iterator(); it.hasNext(); i++)
System.out.println("ele " + i + ": " + it.next());
}
void map() {
Map mp = new HashMap();
mp.put(new Integer(0), "Null!");
mp.put(new Integer(1), "eins");
mp.put(new Integer(2), "zwei");
System.out.println("map has size " + mp.size() + ", and looks like "
+ mp);
int i = 0;
Object obj;
for (Iterator it = mp.keySet().iterator(); it.hasNext(); i++)
System.out.println("ele " + i + ": " + (obj = it.next()) + " => "
+ mp.get(obj));
System.out.println("9 => " + mp.get(new Integer(9)));
}
void properties() {
System.getProperties().list(System.out);
System.out.println("System.getProperties().get(user.dir) "
+ System.getProperties().get("user.dir"));
}
void log() {
class LT {
int id = 0;
void lt(java.util.logging.Logger log, String t) {
// System.out.println("LT.lt " + ++id + ": " + t + ": info
// warning severe");
log.info("info " + ++id + ": " + t);
log.warning("warning " + ++id + ": " + t);
log.severe("severe " + ++id + ": " + t + " from " + log);
}
}
LT lt = new LT();
java.util.logging.Logger log = java.util.logging.Logger
.getLogger("log");
lt.lt(log, "log with default Level " + log.getLevel());
log.setLevel(java.util.logging.Level.WARNING);
lt.lt(log, "log with warning Level " + log.getLevel());
java.util.logging.Logger elf = java.util.logging.Logger
.getLogger("log.eins.elf");
lt.lt(elf, "log.eins.elf with default Level " + elf.getLevel());
log.setLevel(java.util.logging.Level.SEVERE);
lt.lt(elf, "log.eins.elf with log severe, elf default Level "
+ elf.getLevel());
elf.setLevel(java.util.logging.Level.INFO);
lt.lt(elf, "log.eins.elf with info Level " + elf.getLevel());
}
int calFlds[] = new int[] { Calendar.MILLISECOND, Calendar.SECOND,
Calendar.MINUTE, Calendar.HOUR_OF_DAY, Calendar.DAY_OF_MONTH,
Calendar.MONTH, Calendar.YEAR };
SimpleDateFormat f = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss.SSS");
void setFirstIn(Calendar cal, int fld) {
for (int x = 0;; x++) {
System.out.println(" setFirst " + x + ": "
+ f.format(cal.getTime()));
if (calFlds[x] == fld)
break;
cal.set(calFlds[x], cal.getMinimum(calFlds[x]));
}
}
void setLastIn(Calendar cal, int fld) {
setFirstIn(cal, fld);
cal.add(fld, 1);
System.out.println(" setLast add " + f.format(cal.getTime()));
cal.add(cal.MILLISECOND, -1);
System.out.println(" setLast sub " + f.format(cal.getTime()));
}
void calendar() throws Exception {
Calendar cal = Calendar.getInstance();
System.out.println("cal " + cal);
System.out.println(" now " + f.format(cal.getTime()));
Thread.sleep(23);
cal = Calendar.getInstance();
System.out.println(" now sleep " + f.format(cal.getTime()));
cal.clear(cal.MINUTE);
System.out.println(" clear min " + f.format(cal.getTime()));
cal.clear(cal.DAY_OF_MONTH);
System.out.println(" clear day " + f.format(cal.getTime()));
cal = Calendar.getInstance();
setFirstIn(cal, cal.YEAR);
System.out.println(" first yea " + f.format(cal.getTime()));
cal = Calendar.getInstance();
setLastIn(cal, cal.DAY_OF_MONTH);
System.out.println(" last dayM " + f.format(cal.getTime()));
cal = Calendar.getInstance();
setLastIn(cal, cal.MONTH);
System.out.println(" last mon " + f.format(cal.getTime()));
cal = Calendar.getInstance();
setLastIn(cal, cal.YEAR);
System.out.println(" last year " + f.format(cal.getTime()));
}
void jarList(String nam, int fileReads) throws java.io.IOException {
JarFile jf = new JarFile(nam);
long ix = 1;
StringBuffer b1 = new StringBuffer();
StringBuffer b2 = new StringBuffer();
DecimalFormat nf = new DecimalFormat("0000000");
for (java.util.Enumeration en = jf.entries(); en.hasMoreElements(); ix++) {
JarEntry je = (JarEntry) en.nextElement();
b1.setLength(0);
b2.setLength(0);
System.out.println(nf.format(ix, b1, new FieldPosition(
NumberFormat.INTEGER_FIELD))
+ (je.isDirectory() ? " dir " : " fil ")
+ nf.format(je.getSize(), b2, new FieldPosition(
NumberFormat.INTEGER_FIELD)) + "\t" + je.getName());
if (ix < fileReads && !je.getName().endsWith(".class")) {
BufferedReader br = new BufferedReader(new InputStreamReader(jf
.getInputStream(je)));
String li;
while ((li = br.readLine()) != null) {
System.out.println(li);
}
br.close();
}
}
}
int crcTable[] = null;
int[] getCrcTable() {
if (crcTable != null)
return crcTable;
crcTable = new int[256];
for (int n = 0; n < 256; n++) {
int c = n;
for (int k = 0; k < 8; k++) {
if ((c & 1) == 1) {
c = (0xedb88320 ^ (c >>> 1)) & 0xffffffff;
} else {
c = c >>> 1;
}
}
crcTable[n] = c;
}
return crcTable;
}
int crcUpd(int crc, int by) {
crc = (crc ^ 0xffffffff); // & 0xffffffffL;
crc = getCrcTable()[(int) ((crc ^ by) & 0xff)] ^ (crc >>> 8);
return (crc ^ 0xffffffff); // & 0xffffffffL;
}
void crc(int str) {
CRC32 crc = new CRC32();
crc.reset();
Adler32 adler = new Adler32();
adler.reset();
int mc = 0;
String m = "reset ";
for (int i = 0; i < 20; str++, i++) {
System.out.println(m + " crc 0x" + Long.toHexString(crc.getValue())
+ " my 0x" + Integer.toHexString(mc) + "=" + mc
+ " adler 0x" + Long.toHexString(adler.getValue()));
m = "update(" + str + "=0x" + Integer.toHexString(str) + ")";
crc.update(str);
adler.update(str);
mc = crcUpd(mc, str);
}
for (int i = 0; i < 17; i++)
System.out.println("0x" + Integer.toHexString(i) + " - 0x"
+ Integer.toHexString(-i) + " = " + i);
for (int i = Integer.MAX_VALUE; i > 4; i /= 2)
System.out.println("0x" + Integer.toHexString(i) + " - 0x"
+ Integer.toHexString(-i) + " = " + i);
}
public void localeProps() throws Exception {
Locale def = Locale.getDefault();
Locale[] locs = { def,
new Locale(def.getLanguage(), def.getCountry(), "0"),
new Locale(def.getLanguage(), def.GERMANY.getCountry()) };
for (int lx = 0; lx < locs.length; lx++) {
System.out.println("locale " + locs[lx]);
String pckg = ExUtil.class.getPackage() == null ? "" : ExUtil.class
.getPackage().getName()
+ ".";
ResourceBundle bu = PropertyResourceBundle.getBundle(Java
.packagePrefix()
+ "props", locs[lx]);
for (int i = 0; i <= 8; i++)
try {
System.out.println("getString(" + i + ") = "
+ bu.getString(String.valueOf(i)));
} catch (Exception e) {
System.out.println("getString(" + i + ") Exception " + e);
}
}
Locale loc = new Locale(def.getLanguage(), def.getCountry(), "0");
}
public static void main(String[] args) {
// new Java(args, new String [] {"jarList", "d:\\java\\heute.jar", "8",
// "set", "map", "properties"}).invokeMethods(new ExUtil());
int i = -14;
long l = -17;
System.out.println(i + " l " + (long) i + " i " + (int) l);
new Java(args, new String[] { "crc", "192" }).invokeMethods(new ExUtil());
}
}