|
FileUtils |
|
/* ** Luxor - XML User Interface Language (XUL) Toolkit ** Copyright (c) 2001, 2002 by Gerald Bauer ** ** This program is free software. ** ** You may redistribute it and/or modify it under the terms of the GNU ** General Public License as published by the Free Software Foundation. ** Version 2 of the license should be included with this distribution in ** the file LICENSE, as well as License.html. If the license is not ** included with this distribution, you may find a copy at the FSF web ** site at 'www.gnu.org' or 'www.fsf.org', or you may write to the ** Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139 USA. ** ** THIS SOFTWARE IS PROVIDED AS-IS WITHOUT WARRANTY OF ANY KIND, ** NOT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY. THE AUTHOR ** OF THIS SOFTWARE, ASSUMES _NO_ RESPONSIBILITY FOR ANY ** CONSEQUENCE RESULTING FROM THE USE, MODIFICATION, OR ** REDISTRIBUTION OF THIS SOFTWARE. ** */ package luxor.util; import java.io.*; import java.net.*; import java.util.*; import luxor.status.*; public class FileUtils { static Logger T = Logger.getLogger( FileUtils.class ); /** * Strips path and extension from a filename example: lib/venus.jnlp -> * venus */ public static String getBaseName( String name ) { // 1) Strip path. String base = new File( name ).getName(); // 2) Strip possible extension. int index = base.lastIndexOf( '.' ); if( index != -1 ) base = base.substring( 0, index ); return base; } public static String getFileAsString( File file ) throws IOException { StringBuffer text = new StringBuffer(); FileReader in = new FileReader( file ); char buffer[] = new char[4096]; int bytes_read; while( ( bytes_read = in.read( buffer ) ) != -1 ) text.append( new String( buffer, 0, bytes_read ) ); return text.toString(); } public static String getFileExtension( String filename, boolean keepDot ) { filename = filename.replace( '\\', '/' ); String name; int namePos = filename.lastIndexOf( '/' ); if( namePos != -1 ) { name = filename.substring( namePos + 1 ); } else { // no path info found name = filename; } String ext; int extPos = name.lastIndexOf( '.' ); if( extPos != -1 ) { if( keepDot ) ext = name.substring( extPos ); else ext = name.substring( extPos + 1 ); } else { // no extension found ext = ""; } return ext; } public static String getFileExtension( File file, boolean keepDot ) { // Strip path first. String base = file.getName(); String extension = ""; int index = base.lastIndexOf( '.' ); if( index != -1 ) { if( keepDot ) extension = base.substring( index ); else extension = base.substring( index + 1 ); } return extension; } public static String getInputStreamAsString( InputStream inStream ) throws IOException { // todo: should i wrap inputStream in BufferedInputStream? StringBuffer text = new StringBuffer(); InputStreamReader in = new InputStreamReader( inStream ); char buffer[] = new char[4096]; int bytes_read; while( ( bytes_read = in.read( buffer ) ) != -1 ) text.append( new String( buffer, 0, bytes_read ) ); return text.toString(); } public static void saveStreamToFile( InputStream in, File outFile ) throws IOException { FileOutputStream out = null; try { out = new FileOutputStream( outFile ); byte[] buf = new byte[4096]; int bytes_read; while( ( bytes_read = in.read( buf ) ) != -1 ) out.write( buf, 0, bytes_read ); } finally { if( in != null ) try { in.close(); } catch( IOException e ) {} if( out != null ) try { out.close(); } catch( IOException e ) {} } } }
|
FileUtils |
|