Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

//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);
        }
    }
}