本文整理匯總了Java中org.codehaus.plexus.util.FileUtils.copyStreamToFile方法的典型用法代碼示例。如果您正苦於以下問題:Java FileUtils.copyStreamToFile方法的具體用法?Java FileUtils.copyStreamToFile怎麽用?Java FileUtils.copyStreamToFile使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類org.codehaus.plexus.util.FileUtils
的用法示例。
在下文中一共展示了FileUtils.copyStreamToFile方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: expandArchive
import org.codehaus.plexus.util.FileUtils; //導入方法依賴的package包/類
protected void expandArchive( Archiver archiver, File destDirectory )
throws IOException
{
for ( ResourceIterator iter = archiver.getResources(); iter.hasNext(); )
{
ArchiveEntry entry = iter.next();
String name = entry.getName();
name = name.replace( File.separatorChar, '/' );
File destFile = new File( destDirectory, name );
switch ( entry.getType() )
{
case ArchiveEntry.DIRECTORY:
if ( !destFile.exists() )
{
getLog().debug( "adding directory " + name + '/' );
if ( !destFile.mkdirs() )
{
throw new IOException( "Unable to create directory: " + destFile );
}
}
break;
case ArchiveEntry.FILE:
PlexusIoResource resource = entry.getResource();
boolean skip = false;
if ( !destFile.exists() )
{
getLog().debug( "adding file " + name );
}
else
{
long resLastModified = resource.getLastModified();
if ( resLastModified != PlexusIoResource.UNKNOWN_MODIFICATION_DATE )
{
long destFileLastModified = destFile.lastModified();
if ( resLastModified <= destFileLastModified )
{
skip = true;
}
else
{
getLog().debug( "updating file " + name );
}
}
}
if ( !skip )
{
InputStream contents = resource.getContents();
RawInputStreamFacade facade = new RawInputStreamFacade( contents );
FileUtils.copyStreamToFile( facade, destFile );
}
break;
default:
throw new ArchiverException( "Unknown archive entry type: " + entry.getType() );
}
}
}