How to Create Duplicate File using AppendAllText in X++



Description:-

This method will append all text from the original file to the destination file. Appends the specified string to the file, creating the file if it does not already exist.
While this is a very easy task, the method shows many of the things you come across when you are working with files in AX, like: 
  • Using the #File macro
  • Asserting FileIOPermission to be able to access files
  • Asserting InteropPermission to be able to use .NET Interop
  • Using a set to assert multiple permissions at once
  • Using .NET Clr Interop in AX (better than winapi and winapiserver)
  • Optional cleaning up after you’re done using reverAssert() 
Code:-


void AppendFileToFile(Args _args)
{
    #File
    FileName original,distination;
    FileIOPermission    FileIOPermissionA   = new FileIOPermission(distination, #io_append);
    FileIOPermission    FileIOPermissionR   = new FileIOPermission(original, #io_read);
    InteropPermission   InteropPermission   = new InteropPermission(InteropKind::ClrInterop);
    Set                 permissionset       = new set(types::Class);
    ;
    original = @"C:\Users\umesh.adroja\Desktop\ALLData.txt"; //Original Filename
    distination = @"C:\Users\umesh.adroja\Desktop\ALLData1.txt"; //Blank File Name
    //create permissionset
    permissionset.add(FileIOPermissionA);
    permissionset.add(FileIOPermissionR);
    permissionset.add(InteropPermission);
    //assert permissions
    CodeAccessPermission::assertMultiple(permissionset);
    //append text from source file to destination file
    System.IO.File::AppendAllText(distination, System.IO.File::ReadAllText(original));
    //limit the scope of the assert
    CodeAccessPermission::revertAssert();
}

Because all permissions are taken care of, this code will run client side as well as server side.
If you don't want to overwrite anything, use "System.IO.File.AppendAllText" instead of  "System.IO.File.WriteAllText". AppendAllText adds the text to the end of the file.

Related Posts

Previous
Next Post »

1 comments:

comments
Anonymous
June 21, 2018 at 1:35:00 AM GMT+5:30 delete

Hourra, c'est ce que je cherchais, quel truc! présent ici sur ce blog,
merci admin de cette page web.

Reply
avatar

Thanks for comments.....