Java File Read via ByteBuffer readLargeFile(File file)

Here you can find the source of readLargeFile(File file)

Description

Read large > 5Mb text files to String.

License

Open Source License

Parameter

Parameter Description
file source file

Exception

Parameter Description
IOException when the source file can not be read

Return

content of the source file

Declaration

public final static String readLargeFile(File file) throws IOException 

Method Source Code

//package com.java2s;
/*//www.j  a v  a 2s .  com
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
 *
 * Copyright (c) 2012 ForgeRock AS. All Rights Reserved
 *
 * The contents of this file are subject to the terms
 * of the Common Development and Distribution License
 * (the License). You may not use this file except in
 * compliance with the License.
 *
 * You can obtain a copy of the License at
 * http://forgerock.org/license/CDDLv1.0.html
 * See the License for the specific language governing
 * permission and limitations under the License.
 *
 * When distributing Covered Code, include this CDDL
 * Header Notice in each file and include the License file
 * at http://forgerock.org/license/CDDLv1.0.html
 * If applicable, add the following below the CDDL Header,
 * with the fields enclosed by brackets [] replaced by
 * your own identifying information:
 * "Portions Copyrighted [year] [name of copyright owner]"
 */

import java.io.File;
import java.io.FileInputStream;

import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;

public class Main {
    /**
     * Read large > 5Mb text files to String.
     *
     * @param file
     *            source file
     * @return content of the source {@code file}
     * @throws IOException
     *             when the source {@code file} can not be read
     */
    public final static String readLargeFile(File file) throws IOException {
        FileChannel channel = new FileInputStream(file).getChannel();
        ByteBuffer buffer = ByteBuffer.allocate((int) channel.size());
        channel.read(buffer);
        channel.close();
        return new String(buffer.array());
    }
}

Related

  1. readInt16(DataInput di)
  2. readIntArray(DataInput input)
  3. readIntLittleEndian(InputStream in)
  4. readIntoBuffer(RandomAccessFile file, int offset, int size)
  5. readJsonFromFile(String path)
  6. readLong(byte[] src, int pointer)
  7. readLong(InputStream input)
  8. readLong(InputStream is)
  9. readLong(InputStream is, ByteOrder bo)