Test Program on java.activation.DataSource

Q

How to write a simple test program on java.activation.DataSource? I want to try the JAF (JavaBeans Activation Framework) included in JDK.

✍: FYIcenter.com

A

JAF (JavaBeans Activation Framework) API 1.1 has been included in JDK 6 to 8. You can use the following simple test program, ActivationTest.java, to try it:

// Copyright (c) FYIcenter.com
import javax.activation.*;
public class ActivationTest {
   public static void main(String[] args) 
      throws Exception {
      String filename = args[0];
      DataSource ds = new FileDataSource(filename);
      System.out.println("getName() = "+ds.getName() );
      System.out.println("getContentType() = "
         +ds.getContentType() );
   }
}

For JDK 9 and newer, you need to specify javax.activation-1.2.0.jar in the classpath:

fyicenter> java -version
java version "17.0.5" 2022-10-18 LTS

fyicenter> javac ActivationTest.java  
ActivationTest.java:2: error: package javax.activation does not exist
import javax.activation.*;
^
...

fyicenter> javac -classpath .:javax.activation-1.2.0.jar ActivationTest.java  

fyicenter> java -classpath .:javax.activation-1.2.0.jar ActivationTest ActivationTest.java
getName() = ActivationTest.java
getContentType() = application/octet-stream

The output shows that the MIME type of "ActivationTest.java" is "application/octet-stream", which is the default for any file with an unknown file name extension.

For JDK 6 to 8, you can use the JAF code included inside JDK:

fyicenter> java -version
java version "1.7.0_45"

fyicenter> javac -classpath . ActivationTest.java

fyicenter> java -classpath . ActivationTest ActivationTest.java
getName() = ActivationTest.java
getContentType() = application/octet-stream

 

.mime.types - File Type Map

What Is JAF (JavaBeans Activation Framework)

Downloading activation.jar - JavaBeans Activation Framework

⇑⇑ activation.jar - JAF (JavaBeans Activation Framework)

2016-07-09, 2862🔥, 0💬