Java tutorial
// Copyright 2010 Google Inc. // // 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. package com.google.android.stardroid.data; import com.google.android.stardroid.source.proto.SourceFullProto.AstronomicalSourcesProto; import com.google.common.io.Closeables; import com.google.protobuf.TextFormat; import java.io.FileOutputStream; import java.io.FileReader; import java.io.IOException; /** * Class for writing Ascii protocol buffers in binary format. * * @author Brent Bryan */ public class AsciiToBinaryProtoWriter { public static void main(String[] args) throws IOException { if (args.length != 1 || !args[0].endsWith(".ascii")) { System.out.println("Usage: AsciiToBinaryProtoWriter <inputprefix>.ascii"); System.exit(1); } FileReader in = null; FileOutputStream out = null; try { in = new FileReader(args[0]); AstronomicalSourcesProto.Builder builder = AstronomicalSourcesProto.newBuilder(); TextFormat.merge(in, builder); out = new FileOutputStream(args[0].substring(0, args[0].length() - 6) + ".binary"); AstronomicalSourcesProto sources = builder.build(); System.out.println("Source count " + sources.getSourceCount()); sources.writeTo(out); } finally { Closeables.closeQuietly(in); Closeables.close(out, false); } } }