byte[] classBytes = FileLoader.loadFileAsBytes("c:\\temp\\Tester.class");

import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.nio.charset.Charset;


/**
 *
 * 
 */
public class FileLoader {


    /**
     * Load file as text.
     */
    public static String loadFileAsText(String fileName) {
        try {
            File file = new File(fileName);
            if (!file.exists()) {
                return "";
            }
            FileInputStream fis = new FileInputStream(file);
            InputStreamReader isr = new InputStreamReader(fis, Charset.defaultCharset());
            System.out.println("default char set: " + Charset.defaultCharset());
            BufferedReader br = new BufferedReader(isr);
            StringWriter sw = new StringWriter();
            PrintWriter pw = new PrintWriter(sw);
            String line = br.readLine();
            while (line != null) {
                pw.println(line);
                line = br.readLine();
            }
            br.close();
            isr.close();
            return sw.toString();            
        } catch (Throwable t) {
            throw new RuntimeException(t);
        }
    }


    public static byte[] loadFileAsBytes(String fileName) {
        try {
            File file = new File(fileName);
            if (!file.exists()) {
                return null;
            }
            FileInputStream fis = new FileInputStream(file);
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            byte[] buffer = new byte[4096];
            int read = fis.read(buffer);
            if (read > 0) {
                baos.write(buffer, 0, read);
            }
            while (read >= 0) {
                read = fis.read(buffer);
                if (read > 0) {
                    baos.write(buffer, 0, read);
                }
            }
            fis.close();
            return baos.toByteArray();            
        } catch (Throwable t) {
            throw new RuntimeException(t);
        }
    }
    
}

你可能感兴趣的:(byte[] classBytes = FileLoader.loadFileAsBytes("c:\\temp\\Tester.class");)