001    /*
002     * LAPIS lightweight structured text processing system
003     *
004     * Copyright (C) 1998-2002 Carnegie Mellon University,
005     * Copyright (C) 2003 Massachusetts Institute of Technology.
006     * All rights reserved.
007     *
008     * This library is free software; you can redistribute it
009     * and/or modify it under the terms of the GNU General
010     * Public License as published by the Free Software
011     * Foundation, version 2.
012     *
013     * LAPIS homepage: http://graphics.lcs.mit.edu/lapis/
014     */
015    
016    package lapisx.io;
017    
018    import java.io.*;
019    //import java.util.*;
020    
021    public abstract class FileUtil {
022        /**
023          * Load a file into a string.
024          * @param f Filename to load
025          * @return Contents of file as a string, loaded through a Reader
026          */
027        public static String load (File f) throws IOException {
028            return load (new FileReader (f));
029        }
030    
031        /**
032          * Load a stream into a string.
033          * @param in Stream to load
034          * @return Contents of stream as a string
035          */
036        public static String load (InputStream in) throws IOException {
037            return load (new InputStreamReader (in));
038        }
039    
040        /**
041          * Load a reader stream into a string.
042          * @param r Reader stream to load
043          * @return Contents of reader stream as a string
044          */
045        public static String load (Reader r) throws IOException {
046            int n;
047            StringBuffer sbuf = new StringBuffer ();
048            char[] buf = new char[8000];
049            while ((n = r.read (buf)) != -1)
050                sbuf.append (buf, 0, n);
051            return sbuf.toString ();
052        }
053    
054        /**
055          * Save a file (represented as a string) to disk.
056          * @param f Filename to save
057          * @param s Contents of file
058          */
059        public static void save (File f, String s) throws IOException {
060            PrintWriter out = new PrintWriter (new FileWriter (f));
061            out.print (s);
062            out.close ();
063        }
064    }