Package edu.umd.cloud9.io

Source Code of edu.umd.cloud9.io.FSProperty

package edu.umd.cloud9.io;

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;

public class FSProperty {

  public static void writeInt(FileSystem fs, String path, int val) {
    try {
      FSDataOutputStream out = fs.create(new Path(path), true);
      out.writeInt(val);
      out.close();
    } catch (IOException e) {
      e.printStackTrace();
    }
  }

  public static void writeLong(FileSystem fs, String path, long val) {
    try {
      FSDataOutputStream out = fs.create(new Path(path), true);
      out.writeLong(val);
      out.close();
    } catch (IOException e) {
      e.printStackTrace();
    }
  }

  public static void writeFloat(FileSystem fs, String path, float val) {
    try {
      FSDataOutputStream out = fs.create(new Path(path), true);
      out.writeFloat(val);
      out.close();
    } catch (IOException e) {
      e.printStackTrace();
    }
  }

  public static void writeString(FileSystem fs, String path, String val) {
    try {
      FSDataOutputStream out = fs.create(new Path(path), true);
      out.writeUTF(val);
      out.close();
    } catch (IOException e) {
      e.printStackTrace();
    }
  }

  public static int readInt(FileSystem fs, String path) {
    try {
      FSDataInputStream in = fs.open(new Path(path));
      int val = in.readInt();
      in.close();
      return val;
    } catch (Exception e) {
      throw new RuntimeException("Unable to read property at " + path);
    }
  }

  public static long readLong(FileSystem fs, String path) {
    try {
      FSDataInputStream in = fs.open(new Path(path));
      long val = in.readLong();
      in.close();
      return val;
    } catch (Exception e) {
      throw new RuntimeException("Unable to read property at " + path);
    }
  }

  public static float readFloat(FileSystem fs, String path) {
    try {
      FSDataInputStream in = fs.open(new Path(path));
      float val = in.readFloat();
      in.close();
      return val;
    } catch (Exception e) {
      throw new RuntimeException("Unable to read property at " + path);
    }
  }

  public static String readString(FileSystem fs, String path) {
    try {
      FSDataInputStream in = fs.open(new Path(path));
      String val = in.readUTF();
      in.close();
      return val;
    } catch (Exception e) {
      throw new RuntimeException("Unable to read property at " + path);
    }
  }

  public static void main(String[] args) throws IOException {
    if (args.length < 3) {
      System.out.println("args: (read|write) (int|long|float|String) [file] (value)");
      System.exit(-1);
    }

    FileSystem fs = FileSystem.get(new Configuration());
    if (args[0].equals("read")) {
      if (args[1].equals("int")) {
        System.out.println("reading int from " + args[2]);
        System.out.println(readInt(fs, args[2]));
      } else if (args[1].equals("float")) {
        System.out.println("reading float from " + args[2]);
        System.out.println(readFloat(fs, args[2]));
      } else if (args[1].equals("long")) {
        System.out.println("reading long from " + args[2]);
        System.out.println(readLong(fs, args[2]));
      } else if (args[1].equals("String")) {
        System.out.println("reading String from " + args[2]);
        System.out.println(readString(fs, args[2]));
      } else {
        System.out.println("unknown read type");
        System.out.println("args: read (int|long|float|String) [file]");
        System.exit(-1);
      }
    } else if (args[0].equals("write")) {
      if (args[1].equals("int")) {
        int i = Integer.parseInt(args[3]);
        System.out.println("writing int \"" + i + "\" to " + args[2]);
        writeInt(fs, args[2], i);
      } else if (args[1].equals("float")) {
        float i = Float.parseFloat(args[3]);
        System.out.println("writing float \"" + i + "\" to " + args[2]);
        writeFloat(fs, args[2], i);
      } else if (args[1].equals("long")) {
        long i = Long.parseLong(args[3]);
        System.out.println("writing long \"" + i + "\" to " + args[2]);
        writeLong(fs, args[2], i);
      } else if (args[1].equals("String")) {
        System.out.println("writing String \"" + args[3] + "\" to " + args[2]);
        writeString(fs, args[2], args[3]);
      } else {
        System.out.println("unknown write type");
        System.out.println("args: write (int|long|float|String) [file] [value]");
        System.exit(-1);
      }
    }
  }
}
TOP

Related Classes of edu.umd.cloud9.io.FSProperty

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.