Быстрый и простой в использовании набор инструментов программирования для разработчиков серверной части Java
За свою профессиональную жизнь администратора и разработчика я много раз пользовался преимуществами бесчисленного количества бесплатных программ и продуктов с открытым исходным кодом. Поэтому для меня вполне естественно внести свой вклад в это сообщество.
Данная коллекция Java-классов была создана в ходе различных проектов и будет развиваться дальше. Я надеюсь, что этот инструмент также сослужит вам добрую службу.
https://java-util.k43.ch
Цели дизайна
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);
Удачи и дайте мне знать, что вам нравится, а что нуждается в улучшении. Вы можете связаться со мной по электронной почте [[email protected]] или на Mastodon.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3