CharStreams.java 4.1 KB
package com.google.common.io;

import com.google.common.annotations.Beta;
import com.google.common.base.Preconditions;
import java.io.EOFException;
import java.io.IOException;
import java.io.Reader;
import java.io.Writer;
import java.nio.CharBuffer;
import java.util.ArrayList;
import java.util.List;
import ra;

@Beta
public final class CharStreams
{
  public static Writer asWriter(Appendable paramAppendable)
  {
    if ((paramAppendable instanceof Writer)) {
      return (Writer)paramAppendable;
    }
    return new ra(paramAppendable);
  }
  
  public static long copy(Readable paramReadable, Appendable paramAppendable)
    throws IOException
  {
    Preconditions.checkNotNull(paramReadable);
    Preconditions.checkNotNull(paramAppendable);
    CharBuffer localCharBuffer = CharBuffer.allocate(2048);
    long l = 0L;
    while (paramReadable.read(localCharBuffer) != -1)
    {
      localCharBuffer.flip();
      paramAppendable.append(localCharBuffer);
      l += localCharBuffer.remaining();
      localCharBuffer.clear();
    }
    return l;
  }
  
  public static Writer nullWriter()
  {
    return a.a();
  }
  
  public static <T> T readLines(Readable paramReadable, LineProcessor<T> paramLineProcessor)
    throws IOException
  {
    Preconditions.checkNotNull(paramReadable);
    Preconditions.checkNotNull(paramLineProcessor);
    paramReadable = new LineReader(paramReadable);
    String str;
    do
    {
      str = paramReadable.readLine();
    } while ((str != null) && (paramLineProcessor.processLine(str)));
    return (T)paramLineProcessor.getResult();
  }
  
  public static List<String> readLines(Readable paramReadable)
    throws IOException
  {
    ArrayList localArrayList = new ArrayList();
    paramReadable = new LineReader(paramReadable);
    for (;;)
    {
      String str = paramReadable.readLine();
      if (str == null) {
        break;
      }
      localArrayList.add(str);
    }
    return localArrayList;
  }
  
  public static void skipFully(Reader paramReader, long paramLong)
    throws IOException
  {
    Preconditions.checkNotNull(paramReader);
    while (paramLong > 0L)
    {
      long l = paramReader.skip(paramLong);
      if (l == 0L)
      {
        if (paramReader.read() == -1) {
          throw new EOFException();
        }
        paramLong -= 1L;
      }
      else
      {
        paramLong -= l;
      }
    }
  }
  
  public static String toString(Readable paramReadable)
    throws IOException
  {
    StringBuilder localStringBuilder = new StringBuilder();
    copy(paramReadable, localStringBuilder);
    return localStringBuilder.toString();
  }
  
  static final class a
    extends Writer
  {
    private static final a a = new a();
    
    public final Writer append(char paramChar)
    {
      return this;
    }
    
    public final Writer append(CharSequence paramCharSequence)
    {
      Preconditions.checkNotNull(paramCharSequence);
      return this;
    }
    
    public final Writer append(CharSequence paramCharSequence, int paramInt1, int paramInt2)
    {
      Preconditions.checkPositionIndexes(paramInt1, paramInt2, paramCharSequence.length());
      return this;
    }
    
    public final void close() {}
    
    public final void flush() {}
    
    public final String toString()
    {
      return "CharStreams.nullWriter()";
    }
    
    public final void write(int paramInt) {}
    
    public final void write(String paramString)
    {
      Preconditions.checkNotNull(paramString);
    }
    
    public final void write(String paramString, int paramInt1, int paramInt2)
    {
      Preconditions.checkPositionIndexes(paramInt1, paramInt1 + paramInt2, paramString.length());
    }
    
    public final void write(char[] paramArrayOfChar)
    {
      Preconditions.checkNotNull(paramArrayOfChar);
    }
    
    public final void write(char[] paramArrayOfChar, int paramInt1, int paramInt2)
    {
      Preconditions.checkPositionIndexes(paramInt1, paramInt1 + paramInt2, paramArrayOfChar.length);
    }
  }
}


/* Location:              /home/merong/decompile/hackery-dex2jar.jar!/com/google/common/io/CharStreams.class
 * Java compiler version: 6 (50.0)
 * JD-Core Version:       0.7.1
 */