"SPSS Writer" is a Java class library for generating SPSS files (*.sav).

The classes are small, fast, easy to use and can be integrated into your projects, and are completely written in pure Java. It allows users to easily develop and deploy sophisticated reports across any platform. SPSS Writer is a library that allows you to generate SPSS files on the fly.

Source code
package com.pmstation.spss;

import java.io.*;

public class Demo {
  // Entrance point
  public static void main(String args[]) {
    try {
      // Parse the command line
        if (args.length != 1) {
            printUsageAndExit();
        }
      // Open file output stream with filename args[0]
      OutputStream out = new FileOutputStream(args[0]);

      // Assign SPSS output to the file
      SPSSWriter outSPSS = new SPSSWriter(out, "windows-1252");

      // Creating SPSS variable description table
      outSPSS.addDictionarySection();

      // Describing varible names and types
      outSPSS.addStringVar("cont", 32, "continents of the world");
      outSPSS.addNumericVar("size", 8, 2, "sq km");
      outSPSS.addNumericVar("pop", 8, 2, "population");
      outSPSS.addNumericVar("count",8 ,2, "number of countries");

      // Creating SPSS varible value define table
      outSPSS.addDataSection();

      outSPSS.addData("Asia");
      outSPSS.addData(new Long(44579000L));
      outSPSS.addData(new Long(3674000000L));
      outSPSS.addData(new Long(44));

      outSPSS.addData("Africa");
      outSPSS.addData(new Long(30065000L));
      outSPSS.addData(new Long(778000000L));
      outSPSS.addData(new Long(53));

      outSPSS.addData("North America");
      outSPSS.addData(new Long(24256000L));
      outSPSS.addData(new Long(483000000L));
      outSPSS.addData(new Long(23));

      outSPSS.addData("South America");
      outSPSS.addData(new Long(17819000L));
      outSPSS.addData(new Long(342000000L));
      outSPSS.addData(new Long(12));

      outSPSS.addData("Antarctica");
      outSPSS.addData(new Long(13209000L));
      outSPSS.addData(new Long(0));
      outSPSS.addData(new Long(0));

      outSPSS.addData("Europe");
      outSPSS.addData(new Long(9938000L));
      outSPSS.addData(new Long(732000000L));
      outSPSS.addData(new Long(46));

      outSPSS.addData("Australia/Oceania");
      outSPSS.addData(new Long(7687000L));
      outSPSS.addData(new Long(31000000L));
      outSPSS.addData(new Long(14));

      // Creating SPSS ending section
      outSPSS.addFinishSection();

      // Closing output stream
      out.close();
    }
    catch (FileNotFoundException exOb) {
      System.out.println("FileNotFoundException (Demo.main): " +
                         exOb.getMessage());
      exOb.printStackTrace(System.out);
      return;
    }
    catch (IOException exOb) {
      System.out.println("IOException (Demo.main): " + exOb.getMessage());
      exOb.printStackTrace(System.out);
      return;
    }
  }

    private static void printUsageAndExit() {
        System.err.println("Usage:");
        System.err.println("java " +
                Demo.class.getName() +
                " fileSPSS");
        System.exit(1);
    }
}

Copyright © 2003-2008 pmStation.com