001    /******************************************************************************
002     * Copyright (C) MActor Developers. All rights reserved.                        *
003     * ---------------------------------------------------------------------------*
004     * This file is part of MActor.                                               *
005     *                                                                            *
006     * MActor is free software; you can redistribute it and/or modify             *
007     * it under the terms of the GNU General Public License as published by       *
008     * the Free Software Foundation; either version 2 of the License, or          *
009     * (at your option) any later version.                                        *
010     *                                                                            *
011     * MActor is distributed in the hope that it will be useful,                  *
012     * but WITHOUT ANY WARRANTY; without even the implied warranty of             *
013     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the              *
014     * GNU General Public License for more details.                               *
015     *                                                                            *
016     * You should have received a copy of the GNU General Public License          *
017     * along with MActor; if not, write to the Free Software                      *
018     * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA *
019     ******************************************************************************/
020    package org.mactor.ui.gui;
021    
022    import java.io.File;
023    import java.io.FileInputStream;
024    import java.io.InputStreamReader;
025    
026    import org.mactor.framework.MactorException;
027    
028    public class ResourceUtil {
029            public static String readResourceTextContent(String resource) throws MactorException {
030                    try {
031                            InputStreamReader ir = new InputStreamReader(Thread.currentThread().getContextClassLoader().getResourceAsStream(resource));
032                            char[] buffer = new char[4000];
033                            StringBuffer sb = new StringBuffer();
034                            while (true) {
035                                    int count = ir.read(buffer);
036                                    if (count <= 0)
037                                            break;
038                                    sb.append(buffer, 0, count);
039                            }
040                            return sb.toString();
041                    } catch (Exception e) {
042                            throw new MactorException("Failed to read the resoruces '" + resource + "'", e);
043                    }
044            }
045            public static String readFileContent(File path) throws MactorException {
046                    try {
047                            InputStreamReader ir = new InputStreamReader(new FileInputStream(path));
048                            char[] buffer = new char[4000];
049                            StringBuffer sb = new StringBuffer();
050                            while (true) {
051                                    int count = ir.read(buffer);
052                                    if (count <= 0)
053                                            break;
054                                    sb.append(buffer, 0, count);
055                            }
056                            return sb.toString();
057                    } catch (Exception e) {
058                            throw new MactorException("Failed to read the file '" + path.getAbsolutePath() + "'", e);
059                    }
060            }
061    }