@Nonnull public static File moveFile (@Nonnull final File aSrc, @Nonnull final File aDestFile, final boolean bOverwrite, final boolean bRename) throws IOException { File aRealDestFile = aDestFile; if (!bOverwrite && aRealDestFile.exists ()) { if (!bRename) throw new IOException ("File already exists: " + aRealDestFile); aRealDestFile = getUniqueFile (aRealDestFile.getAbsoluteFile ().getParentFile (), aRealDestFile.getName ()); } // Copy FileIOError aIOErr = s_aFOM.copyFile (aSrc, aRealDestFile); if (aIOErr.isFailure ()) throw new IOException ("Copy failed: " + aIOErr.toString ()); // Delete old aIOErr = s_aFOM.deleteFile (aSrc); if (aIOErr.isFailure ()) { s_aFOM.deleteFile (aRealDestFile); throw new IOException ("Move failed, unable to delete " + aSrc + ": " + aIOErr.toString ()); } return aRealDestFile; }
@Nonnull public static File getDirectoryFile (@Nonnull final String sDirectory) { final File aDir = new File (sDirectory); s_aFOM.createDirRecursiveIfNotExisting (aDir); return aDir; }
protected void store (@Nonnull final File aMsgFile, @Nonnull @WillClose final InputStream aIS) throws IOException { final String sTempDirname = attrs ().getAsString (ATTR_TEMPDIR); if (sTempDirname != null) { // write the data to a temporary directory first final File aTempDir = AS2IOHelper.getDirectoryFile (sTempDirname); final File aTempFile = AS2IOHelper.getUniqueFile (aTempDir, aMsgFile.getName ()); _writeStreamToFile (aIS, aTempFile); // copy the temp file over to the destination if (AS2IOHelper.getFileOperationManager ().renameFile (aTempFile, aMsgFile).isFailure ()) throw new IOException ("Rename from " + aTempFile.getAbsolutePath () + " to " + aMsgFile.getAbsolutePath () + " failed!"); } else { // Write directly to the destination file _writeStreamToFile (aIS, aMsgFile); } } }
getSession ().getMessageProcessor ().handle (sResendAction, aMsg, aOptions); if (AS2IOHelper.getFileOperationManager ().deleteFile (aFile).isFailure ())
final FileIOError aError = AS4IOHelper.getFileOperationManager ().deleteFileIfExisting (aFile); if (aError.isFailure ()) LOGGER.warn (" Failed to delete " + aFile.getAbsolutePath () + ": " + aError.toString ());
AS2IOHelper.getFileOperationManager ().createDirIfNotExisting (s_aDumpDecryptedDirectory);
final FileIOError aIOErr = AS2IOHelper.getFileOperationManager ().copyFile (aFile, aPendingFile); if (aIOErr.isFailure ()) throw new OpenAS2Exception ("File was successfully sent but not copied to pending folder: " +
AS2IOHelper.getFileOperationManager ().renameFile (aSourceFile, aBackupFile);
/** * @since 2007-06-01 * @param aMsg * The source message * @param sFileParam * The parameter name including the filename * @param sAction * Action name * @return File The {@link File} to be used * @throws IOException * In case of IO error * @throws OpenAS2Exception * In case of error */ protected File getFile (final IMessage aMsg, final String sFileParam, final String sAction) throws IOException, OpenAS2Exception { final String sFilename = getFilename (aMsg, sFileParam, sAction); // make sure the parent directories exist final File aFile = new File (sFilename); AS2IOHelper.getFileOperationManager ().createDirRecursiveIfNotExisting (aFile.getParentFile ()); // don't overwrite existing files return AS2IOHelper.getUniqueFile (aFile.getParentFile (), FilenameHelper.getAsSecureValidFilename (aFile.getName ())); }