you just need to call DataTransferOperations.putOperation().
@Test
public
void testPutOneFile()
throws Exception {
// generate a local scratch file
String testFileName =
"testPutOneFile.txt";
String absPath =
scratchFileUtils
.createAndReturnAbsoluteScratchPath(IRODS_TEST_SUBDIR_PATH);
String localFileName = FileGenerator
.generateFileOfFixedLengthGivenName(absPath, testFileName,
32 * 1024);
String targetIrodsFile =
testingPropertiesHelper
.buildIRODSCollectionAbsolutePathFromTestProperties(
testingProperties,
IRODS_TEST_SUBDIR_PATH + '/'
+ testFileName);
File localFile =
new File(localFileName);
// now put the file
IRODSAccount irodsAccount =
testingPropertiesHelper
.buildIRODSAccountFromTestProperties(testingProperties);
IRODSFileFactory irodsFileFactory =
irodsFileSystem
.getIRODSFileFactory(irodsAccount);
IRODSFile destFile = irodsFileFactory
.instanceIRODSFile(targetIrodsFile);
DataTransferOperations dataTransferOperationsAO =
irodsFileSystem
.getIRODSAccessObjectFactory().getDataTransferOperations(
irodsAccount);
dataTransferOperationsAO.putOperation(localFile, destFile,
null, null);
assertionHelper.assertIrodsFileMatchesLocalFileChecksum(
destFile.getAbsolutePath(), localFile.getAbsolutePath());
}