FileTools : Some tools to work with files

1.Introduction

FileTools
Probably you have read in title , the name of extension is FileTools and features are similar to its name.
It provides tools to work with Files and Folders.

Latest Version: 11
Last Updated:  October 9,2021

2.Blocks

image

image

image

image

image

image

3.Documentation

component_method

Returns path to application specific directory
Thanks to @bodymindpower for suggesting changes

image

Returns a list of available storage directories.

blocks%20(18)

Copies file from source to destination folder.

blocks

Copies file from source to destination asynchronously.Use this to copy big files to avoid runtime errors.

component_method%20(2)

Creates Application Specific Directory in case it does not exists

blocks (1)

Creates a single directory.It triggers ‘Directory Created’ with boolean true or false

image

Deletes given file or folder.If it is directory then all subdirectories will be deleted and this can take some time.It triggers ‘FileDeleted’ event with boolean true or false.

blocks%20(21)
blocks%20(22)

Returns true if file or folder exists else false

blocks

Returns files list from given directory (if it exists) .Use file extension as filter like mp3,txt,etc.If you don’t want to use filter then use empty string.Also if don’t want to get subdirectories then set ‘withFolders’ to false else true.If recursive is set to true then it will also get files from subdirectories recursively.

blocks (1)

Works same as FilesList but it gets file list asynchronously which denies any oppertunity of runtime error in getting files list from a directory having so much files.It raises ‘GotFileList’ event with files list.

image

Returns file list from assets

blocks (4)

Returns file name from path if it exists

blocks (5)

Returns current size of file or folder

blocks (6)

Returns file path from file name.In this case it will return /storage/sdcard/mFile.txt

blocks (7)

Returns folders list of given directory

blocks (6)

Returns free size of directory in bytes.
Note: it uses absolute file Path

blocks (16)

Converts file path to content uri

blocks (18)

Moves file from source to destination asynchronously.

blocks%20(26)

Checks that given path is complete path or not
For example: /testt.txt and /mnt/sdcard/Android/com.sunny.notez/files/testt.txt are not same.

blocks (15)

Returns that folder/file is executable or not

blocks (14)

Returns true if path is file else false

blocks (13)

Returns true if file/folder is hidden else false

blocks (11)

Returns true if file/folder is readable else false

blocks (12)

Returns true if file/folder is writable else false

blocks%20(46)

Last modified time of file/folder in given format

blocks%20(47)

Mime type of given file.In above case it will return text/plain

blocks%20(48)

Moves file from source to destination and deletes source file

blocks%20(49)

Converts content uri to file path

blocks (10)

Renames file without deleting it

blocks (7)

Returns total space of directory
Note: it uses absolute file Path

4.Downloads

Aix
Here are download links for Aix and Aia:
Download Aix: com.sunny.FileTools.aix – Google Drive

Download Aia: FileTools.aia – Google Drive

AIA does not have latest version of extension

5.Updates/Bug Fixes

 ChangeLog Version2

New blocks
Added two new blocks

Bug Fixes

  • All methods returning files list will now return empty list(if files list is empty) instead of runtime error
  • Mime Type method will return mime type with more accuracy.
  • Fixed some null pointer exceptions
 ChangeLog Version3

New blocks

Added three new blocks

component_method%20(5)

component_method%20(6)

component_method%20(4)

Changes
New version includes changes in some blocks

  • ‘Application Specific Directory’ now returns path to ASD
  • Replaced ‘File’ with ‘FileSystems’ in ‘Available Storage Directory’ block but I am not sure it is working or not

Bug Fixes

  • Some changes in ‘Available Storage Directory’ block
 ChangeLog Version4

New blocks
Added 6 new blocks:

image

image

image

image

image

image
Changes

  • Replaced path with name.Now it will find path from file name (Thanks to App Inventor)
  • Some other minor changes

Bug Fixes

  • Now it is able to copy files from assets (Thanks @bodymindpower)
  • ‘AvailableStorageDirectories’ blocks is working now (Thanks @salem_m_s2021)

 

 ChangeLog Version5

Changes

  • Added ‘recursive’ in FilesList and FileListAsync

image

image

Bug Fixes

  • Fixed bug in Delete method
  • Fixed bug in getting assets list using FilesList.Use // in FilesList as dir to get Assets list while using Companion
  • Some minor bug fixes
 ChangeLog Version6

Changes

  • Removed some un-neccessary methods and imports which reduced aix size (40 kb to 31kb) 
  • Some internal changes like using empty string in any path socket will also return an empty string
  • Fixed several spelling and grammar mistakes
 ChangeLog Version7

Bug Fixes

  • Fixed bug in FileListFromAssets method

 ChangeLog Version8

Bug Fixes

  • Fixed bug in FileListAsync , CopyFileAsync and MoveFileAsync

Changes

  • Some internal changes and fixed spelling and grammar mistakes

 

 ChangeLog Version9

Bug Fixes

  • Fixed bug in CopyFile and CopyFileAsync methods which were not copying file from assets
  • Fixed bug in IsFile method which was returning false for every asset’s file

Changes

  • Some internal changes
  • Removed some un-necessary libraries
 ChangeLog Version10

Changes

  • Extension will not work in Kodular Companion for asset files
    For example, //foto.png will refer to /storage/emulated/0/AppInventor/assets/foto.png (Android < 10)
  • FileList and FileListAsync now have multi filter support (separated by ,)
  • Some internal changes

Bug Fixes

  • PathFromUri is now compatible with Android >= 10
 ChangeLog Version10.1
  • Fixed bug in IsFile method which was not working for Asset files.
    It was affecting copy and move operations.
Subscribe
Notify of
2 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
patel
10 months ago

Hi, very good extension, can you add multiple filter like “pdf,txt,jpg” ?

2
0
Would love your thoughts, please comment.x
()
x