package org.kodejava.io;
import java.io.File;
public class EmptyDirCheck {
public static void main(String[] args) {
File file = new File("D:/Downloads");
// Check to see if the object represent a directory.
if (file.isDirectory()) {
// Get list of file in the directory. When its length is not zero
// the folder is not empty.
String[] files = file.list();
if (files != null && files.length > 0) {
System.out.println(file.getPath() + " is not empty!");
}
}
}
}
Category Archives: Java
How do I format a date in a JSP page?
This example show how to format date in JSP using format tag library. We create a date object using the <jsp:useBean> taglib. To format the date we use the <fmt:formatDate> taglib. We assign the value attribute to the date object, set the type attribute as date and define the pattern how the date will be formatted.
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<!DOCTYPE html>
<html lang="en">
<head>
<title>Date Format</title>
</head>
<body>
<jsp:useBean id="date" class="java.util.Date"/>
Today is: <fmt:formatDate value="${date}" type="date" pattern="dd-MMM-yyyy"/>
</body>
</html>
Maven Dependencies
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
How do I get cryptographic security providers?
package org.kodejava.security;
import java.security.Provider;
import java.security.Security;
import java.util.Set;
import java.util.HashSet;
public class SecurityProvider {
public static void main(String[] args) {
// Create a set so that we can have a unique results.
Set<String> results = new HashSet<>();
// Returns an array containing all the installed providers.
Provider[] providers = Security.getProviders();
for (Provider provider : providers) {
// Get provider's property keys
Set<Object> keys = provider.keySet();
for (Object key : keys) {
String data = (String) key;
data = data.split(" ")[0];
// Service type started by the "Alg.Alias" string
if (data.startsWith("Alg.Alias")) {
data = data.substring(10);
}
data = data.substring(0, data.indexOf('.'));
results.add(data);
}
}
for (Object object : results) {
System.out.println("Service Type = " + object);
}
}
}
The example result of our code:
Service Type = Policy
Service Type = Configuration
Service Type = AlgorithmParameterGenerator
Service Type = TransformService
Service Type = CertificateFactory
Service Type = KeyInfoFactory
Service Type = CertPathBuilder
Service Type = MessageDigest
Service Type = KeyAgreement
Service Type = SecretKeyFactory
Service Type = KeyGenerator
Service Type = KeyFactory
Service Type = XMLSignatureFactory
Service Type = SaslServerFactory
Service Type = TerminalFactory
Service Type = SecureRandom
Service Type = SaslClientFactory
Service Type = KeyPairGenerator
Service Type = SSLContext
Service Type = KeyStore
Service Type = Mac
Service Type = Provider
Service Type = KeyManagerFactory
Service Type = CertPathValidator
Service Type = Signature
Service Type = TrustManagerFactory
Service Type = Cipher
Service Type = CertStore
Service Type = GssApiMechanism
Service Type = AlgorithmParameters
How do I decrypt an object with DES?
On the previous example How do I encrypt an object with DES? we encrypt an object. In this example we will decrypt the stored object.
package org.kodejava.crypto;
import java.io.*;
import javax.crypto.SecretKey;
import javax.crypto.Cipher;
import javax.crypto.SealedObject;
public class ObjectDecrypt {
public static void main(String[] args) throws Exception {
// Read the previously stored SecretKey.
SecretKey key = (SecretKey) readFromFile("secretkey.dat");
// Read the SealedObject
SealedObject sealedObject = (SealedObject) readFromFile("sealed.dat");
// Preparing Cipher object from decryption.
if (sealedObject != null) {
String algorithmName = sealedObject.getAlgorithm();
Cipher cipher = Cipher.getInstance(algorithmName);
cipher.init(Cipher.DECRYPT_MODE, key);
String text = (String) sealedObject.getObject(cipher);
System.out.println("Text = " + text);
}
}
// Method for reading object stored in a file.
private static Object readFromFile(String filename) {
try (FileInputStream fis = new FileInputStream(filename);
ObjectInputStream ois = new ObjectInputStream(fis)) {
return ois.readObject();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
How do I encrypt an object with DES?
This example demonstrate encrypting an object using DES algorithm. After the object was encrypted we store it in a file which will be decrypted in the next example here How do I decrypt an object with DES.
package org.kodejava.crypto;
import java.io.*;
import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import javax.crypto.SealedObject;
import javax.crypto.SecretKey;
public class ObjectEncrypt {
public static void main(String[] args) throws Exception {
// Generating a temporary key and store it in a file.
SecretKey key = KeyGenerator.getInstance("DES").generateKey();
writeToFile("secretkey.dat", key);
// Preparing Cipher object for encryption.
Cipher cipher = Cipher.getInstance("DES");
cipher.init(Cipher.ENCRYPT_MODE, key);
// Here we seal (encrypt) a simple string message (a string object).
SealedObject sealedObject = new SealedObject("THIS IS A SECRET MESSAGE!", cipher);
// Write the object out as a binary file.
writeToFile("sealed.dat", sealedObject);
}
// Store object in a file for future use.
private static void writeToFile(String filename, Object object) throws Exception {
try (FileOutputStream fos = new FileOutputStream(filename);
ObjectOutputStream oos = new ObjectOutputStream(fos)) {
oos.writeObject(object);
}
}
}
