Thanks! Code was perfect. I adapted it slightly to add Latitude and Longitude fields. I also adapt the date field from epoch to a readable format. So I thought I'd share that code here in case it is useful to anyone.
PrintWriter writer = new PrintWriter(file.getAbsolutePath(), "WINDOWS-1252");
writer.write("Longitude" + ",");
writer.write("Latitude" + ",");
for(com.esri.core.map.Field field: obsTable.getFields()){
writer.write(field.getName() + ",");
}
Iterator<Object> it = objs.iterator();
while(it.hasNext()){
GeodatabaseFeature feature = (GeodatabaseFeature)it.next();
Point point = (Point) GeometryEngine.project(feature.getGeometry(), SpatialReference.create(102113), SpatialReference.create(4326));
StringBuffer values = new StringBuffer();
values.append(point.getX() + ",");
values.append(point.getY() + ",");
for(com.esri.core.map.Field f : objs.getFields()){
if(f.getName().equals("Date")){
values.append(epochTimeConvert(Long.parseLong(feature.getAttributeValue(f).toString()), "EEE MMM dd, yyyy hh:mm a") + ",");
}
else{
values.append(feature.getAttributeValue(f) + ",");
}
}
writer.println(values);
}
writer.close();