Android Open Source - base-android-utils Reader






From Project

Back to project page base-android-utils.

License

The source code is released under:

Apache License

If you think the Android project base-android-utils listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package me.pc.mobile.helper.v14.files;
/*from   ww w. j av  a  2s  .com*/
import me.pc.mobile.helper.v14.util.IoUtils;

import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.nio.ByteBuffer;
import java.nio.charset.Charset;

public final class Reader {

  private Reader() {}

  // =========================================================================
  // Read file from external storage - uses the Java API for files
  // =========================================================================
  public static String read(String filename, String csName)
      throws IOException {
    final Charset cs = Charset.forName(csName);
    final byte[] ba = readFile(filename, new InputStreamAction());
    return cs.newDecoder().decode(ByteBuffer.wrap(ba)).toString();
  }

  public static byte[] read(String filename) throws IOException {
    return readFile(filename, new InputStreamAction());
  }

  private static byte[] readFile(String filename,
      InputStreamAction action) throws IOException {
    InputStream stream = new FileInputStream(filename);
    try {
      return action.useStream(stream);
    } finally {
      IoUtils.closeSilently(stream);
    }
  }
}

class InputStreamAction {

  /**
   * Based on code by Skeet for reading a file to a string :
   * http://stackoverflow.com/a/326531/281545
   *
   * @param stream
   * @return
   * @throws IOException
   */
  byte[] useStream(InputStream stream) throws IOException {
    final ByteArrayOutputStream baos = new ByteArrayOutputStream();
    final int length = 8192;
    byte[] buffer = new byte[length];
    int read;
    while ((read = stream.read(buffer, 0, length)) > 0) {
      baos.write(buffer, 0, read);
    }
    return baos.toByteArray();
  }
}




Java Source Code List

me.pc.mobile.helper.v14.BuildConfig.java
me.pc.mobile.helper.v14.base.BaseActivity.java
me.pc.mobile.helper.v14.base.BaseApp.java
me.pc.mobile.helper.v14.base.BaseFrag.java
me.pc.mobile.helper.v14.base.abs.BaseJsonParser.java
me.pc.mobile.helper.v14.crypt.AES7Padding.java
me.pc.mobile.helper.v14.crypt.AES.java
me.pc.mobile.helper.v14.crypt.Base64.java
me.pc.mobile.helper.v14.crypt.CheckUtils.java
me.pc.mobile.helper.v14.crypt.ConfigureEncryptAndDecrypt.java
me.pc.mobile.helper.v14.crypt.RSA.java
me.pc.mobile.helper.v14.files.ExternalStorage.java
me.pc.mobile.helper.v14.files.FileUtils.java
me.pc.mobile.helper.v14.files.Reader.java
me.pc.mobile.helper.v14.files.Writer.java
me.pc.mobile.helper.v14.http.AsyncHttpUtil.java
me.pc.mobile.helper.v14.net.Addresses.java
me.pc.mobile.helper.v14.net.NetworkUtil.java
me.pc.mobile.helper.v14.net.WifiWaker.java
me.pc.mobile.helper.v14.receiver.BatteryStateReceiver.java
me.pc.mobile.helper.v14.receiver.NetworkStateChangeReceiver.java
me.pc.mobile.helper.v14.ui.image.RoundedDrawable.java
me.pc.mobile.helper.v14.ui.image.RoundedImageView.java
me.pc.mobile.helper.v14.util.AppInstallUtil.java
me.pc.mobile.helper.v14.util.BitDrawableUtil.java
me.pc.mobile.helper.v14.util.DeviceIdentifier.java
me.pc.mobile.helper.v14.util.DisplayUtils.java
me.pc.mobile.helper.v14.util.IntentUtil.java
me.pc.mobile.helper.v14.util.IoUtils.java
me.pc.mobile.helper.v14.util.LogUtil.java
me.pc.mobile.helper.v14.util.PackageUtil.java
me.pc.mobile.helper.v14.util.PermissionAssertUtils.java
me.pc.mobile.helper.v14.util.RegexUtil.java
me.pc.mobile.helper.v14.util.SharedPrefUtil.java
me.pc.mobile.helper.v14.util.StorageUtils.java