Okay - I think that I see what you are doing. You have written an app that keeps track of scores in a game on behalf of all of the players, probably bridging over several sessions. You want to make sure that the file is not accidentally deleted. If you keep the file in File.DirInternal then it will be safe, as it cannot be removed by any other app or by a file manager, but it will be lost if you delete the app itself, maybe accidentally. If you save the file anywhere else on your device then it will remain if you delete the app, but it will be removable by a file manager app, so not entirely secure.
I think that you have three sensible options :
1. Keep the primary copy of the file in File.DirInternal but maintain a copy in external storage. At least then you will have to make two silly mistakes in order to lose your data.
2. Keep the primary version of the file in File.DirInternal and maintain a duplicate outside of the device. This is what I usually do - every time the file is changed I FTP a copy to cloud storage.
3. You can write an external file and make it read-only, but you will need to use JavaObject - here is some sample code (AI generated) -
Dim jo As JavaObject
jo.InitializeNewInstance("java.io.File", Array("/storage/emulated/0/YourFile.txt"))
jo.RunMethod("setReadOnly", Null)
This will prevent the file being accidentally removed, but you will have to switch it to be writeable and back to read-only every time that you update it.