import java.io.*;
import com.pmstation.spss.*;
public class SpssTest {
// Entrance point
public static void main(String args[]) {
try {
// Open file output stream with filename args[0]
OutputStream out = new FileOutputStream("C:\\Documents and Settings\\Administrator\\桌面\\2.sav");
// Assign SPSS output to the file
SPSSWriter outSPSS = new SPSSWriter(out, "windows-1251");
// Creating SPSS variable description table
outSPSS.setCalculateNumberOfCases(false);
outSPSS.addDictionarySection(-1);
// Describing varible names and types
outSPSS.addStringVar("cont", 32, "continents of the world");
outSPSS.addNumericVar("size", 4, 0, "sq km");
outSPSS.addNumericVar("pop", 4, 0, "population");
// Create missing value
MissingValue mv = new MissingValue();
mv.setOneDescreteMissingValue(1);
outSPSS.addNumericVar("count", 4, 0, "number of countries", mv);
// Create value labels
ValueLabels valueLabels = new ValueLabels();
valueLabels.putLabel(44, "Forty four");
valueLabels.putLabel(23, "Twenty three");
outSPSS.addValueLabels(4 , valueLabels);
// Create SPSS varible value define table
outSPSS.addDataSection();
// Add values for all defined variables
outSPSS.addData("ALT升高");
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));
outSPSS.addData("Transelvania");
outSPSS.addData(new Long(7345560L));
outSPSS.addData(new Long(34565456L));
outSPSS.addData(new Long(44));
// Create SPSS ending section
outSPSS.addFinishSection();
// Close 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;
}
}
}
以上是一个测试程序,生成的.sav文件用SPSS打开,ALT升高这列中文显示乱码,怀疑是windows-1252字符问题,但是换成GBK,GB2312,UTF-8,ISO-8859-1都不行或只有个别成功。
作者: lazj1123
发布时间: 2010-05-19