Ein schnelles und einfach zu verwendendes Programmier-Toolkit für den Java-Backend-Entwickler
In meinem Berufsleben als Administrator und Entwickler habe ich mehrfach von unzähligen Freeware- und Open-Source-Produkten profitiert. Daher ist es für mich selbstverständlich, auch zu dieser Gemeinschaft beizutragen.
Diese Sammlung von Java-Klassen ist im Rahmen verschiedener Projekte entstanden und wird weiterentwickelt. Ich hoffe, dass dieses Tool auch Ihnen gute Dienste leisten wird.
https://java-util.k43.ch
Designziele
public static void main(String[] args) { KLog.info("Start"); int result = 0; try { result = 10 / 0; } catch (Exception e) { KLog.error(e); } KLog.debug("Result is " result); }
2024-09-16T07:17:11.095 D main[1]:ch.k43.util.KLog:open:459 ===== Application started 2024-09-16T07:17:11.048 ===== 2024-09-16T07:17:11.111 D main[1]:ch.k43.util.KLog:open:460 Java Utility Package (Freeware) ch.k43.util Version 2024.09.15 2024-09-16T07:17:11.112 D main[1]:ch.k43.util.KLog:open:463 Homepage java-util.k43.ch - Please send any feedback to [email protected] 2024-09-16T07:17:11.122 D main[1]:ch.k43.util.KLog:open:466 Host ab-macbook-pro (10.0.0.105) 2024-09-16T07:17:11.122 D main[1]:ch.k43.util.KLog:open:467 OS platform Mac OS X (Version 14.6.1/aarch64) 2024-09-16T07:17:11.123 D main[1]:ch.k43.util.KLog:open:471 OS disk space total 3.63 TB, free 2.37 TB, usable 2.37 TB 2024-09-16T07:17:11.123 D main[1]:ch.k43.util.KLog:open:474 Java version 21 (OpenJDK 64-Bit Server VM - Eclipse Adoptium) 2024-09-16T07:17:11.123 D main[1]:ch.k43.util.KLog:open:477 Java CPUs 10 2024-09-16T07:17:11.124 D main[1]:ch.k43.util.KLog:open:481 Java heap maximum 16.00 GB, current 1.00 GB, used 7.68 MB, free 1016.32 MB 2024-09-16T07:17:11.124 D main[1]:ch.k43.util.KLog:open:485 Java locale de/CH, time UTC 02:00 2024-09-16T07:17:11.125 D main[1]:ch.k43.util.KLog:open:488 Java classpath ../bin/:../lib/angus-mail-2.0.3.jar:../lib/jakarta.mail-api-2.1.3.jar:../lib/org.json.20230618.jar:../lib/h2-2.2.224.jar:../lib/jakarta.activation-api-2.1.3.jar:../lib/angus-activation-2.0.2.jar 2024-09-16T07:17:11.125 I main[1]:Test:main:9 Start 2024-09-16T07:17:11.125 E main[1]:Test:main:16 ===> java.lang.ArithmeticException: / by zero 2024-09-16T07:17:11.126 E main[1]:Test:main:16 ===> Stack[1]: Test.main(Test.java:14) 2024-09-16T07:17:11.126 D main[1]:Test:main:19 Result is 0
try (KDB db = new KDB(KDB.JDBC_H2, "jdbc:h2:mem:mydb", "", "")) { KLog.abort(!db.isConnected(), "Error: " db.getErrorMessage()); db.exec("CREATE TABLE ADDRESSES (SEQUENCE INT AUTO_INCREMENT, LASTNAME VARCHAR(20), FIRSTNAME VARCHAR(20))"); db.exec("INSERT INTO ADDRESSES (LASTNAME, FIRSTNAME) VALUES ('Smith', 'John')"); db.exec("INSERT INTO ADDRESSES (LASTNAME, FIRSTNAME) VALUES ('Miller', 'Bob')"); db.exec("INSERT INTO ADDRESSES (LASTNAME, FIRSTNAME) VALUES ('Johnson', 'Eve')"); db.exec("SELECT * FROM ADDRESSES", 10); System.out.println(db.getDataAsTable()); System.out.println(db.getDataAsJSON()); }
SEQUENCE LASTNAME FIRSTNAME 1 Smith John 2 Miller Bob 3 Johnson Eve
{ "ADDRESSES": [ { "SEQUENCE": 1, "LASTNAME": "Smith", "FIRSTNAME": "John" }, { "SEQUENCE": 2, "LASTNAME": "Miller", "FIRSTNAME": "Bob" }, { "SEQUENCE": 3, "LASTNAME": "Johnson", "FIRSTNAME": "Eve" } ] }
KSMTPMailer mailer = new KSMTPMailer(); mailer.setFrom("[email protected]"); mailer.setTo("[email protected]"); mailer.setSubject("Subject"); mailer.addHTML("Your requested files
"); mailer.addText("Body Text"); mailer.addFile("test1.txt"); mailer.addFile("test2.txt"); mailer.addText("Regards, John"); mailer.send();
Properties props = new Properties(); props.put("Authorization", "Basic " K.encodeBase64(userName ':' password); KHTTPClient http = new KHTTPClient(); if (!http.post("https://example.com:4443", props, "HTTP body data")) { KLog.abort("HTTP POST failed - " http.getLastError()); }
// Wait 1/4 second K.waitMilliseconds(250); // Get DNS MX record(s) String[] mxRRs = K.queryDNS("MX", "yahoo.com"); // // AES-256 Encryption/Decryption // String secretKey = "This is the secret key"; // Create a simple text file KFile.writeFile("This is a simple text file", "AES-Text.txt"); // Generate and save random AES-256 initialization vector KFile.writeFile(K.getRandomBytes(16), "AES.iv"); // Encrypt byte[] clearText = KFile.readByteFile("AES-Text.txt"); byte[] initVector = KFile.readByteFile("AES.iv"); byte[] cipherText = K.encryptAES256(clearText, secretKey.getBytes(), initVector); KFile.writeFile(cipherText, "AES-Text.encrypted"); // Decrypt cipherText = KFile.readByteFile("AES-Text.encrypted"); initVector = KFile.readByteFile("AES.iv"); clearText = K.decryptAES256(cipherText, secretKey.getBytes(), initVector);
Viel Spaß und lassen Sie mich wissen, was Ihnen gefällt und was verbessert werden muss. Sie erreichen mich per E-Mail [[email protected]] oder unter Mastodon.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3