本文整理汇总了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() );
}
}
}