Java tutorial
//package com.java2s; /* * Copyright 2011 Peter Karich info@jetsli.de * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import org.xmlpull.v1.XmlPullParser; import java.io.BufferedOutputStream; import java.io.Closeable; import java.io.DataOutputStream; import java.io.FileOutputStream; import java.io.IOException; public class Main { public static void writeSettings(String file, Object... objs) throws IOException { DataOutputStream out = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(file), 1024)); try { out.writeInt(objs.length); for (Object obj : objs) { char cl; if (obj instanceof Byte) { cl = 'Y'; } else { cl = obj.getClass().getSimpleName().charAt(0); } out.writeChar(cl); if (obj instanceof String) { out.writeUTF((String) obj); } else if (obj instanceof Float) { out.writeFloat((Float) obj); } else if (obj instanceof Double) { out.writeDouble((Double) obj); } else if (obj instanceof Integer) { out.writeInt((Integer) obj); } else if (obj instanceof Long) { out.writeLong((Long) obj); } else if (obj instanceof Boolean) { out.writeBoolean((Boolean) obj); } else { throw new IllegalStateException("Unsupported type"); } } } finally { out.close(); } } public static void close(XmlPullParser r) { // Nothing to do! } public static void close(Closeable cl) { try { if (cl != null) { cl.close(); } } catch (IOException ex) { throw new RuntimeException("Couldn't close resource", ex); } } }