Simple question, but I couldn t find the answer anywhere (all answers requires rooting on android marshmallow because ftp clients doesn t include the permission to write on the sdcard). I have a huge file which is too large to be downloaded on internal storage. So it can only be downloaded on the sdcard directly. It also seems no ternal apps have the permission to write to the sdcard so I cannot use command line tools directly.

As the file is huge, I also need to be able to pause and resume downloads.

  • Does this answer your question? How to move files to external SD card on a non-rooted Android? Dec 10 '19 at 20:02
  • @IrfanLatif the file is larger than internal memory in my case. Dec 10 '19 at 20:25
  • Yes. That's why you can directly download to external SD card in private directory (inside Android/data/ directory) of the downloading app. You can use any FTP client GUI app or CLI utility. If the app uses SAF APIs, writing to SD card in any directory is possible. Dec 10 '19 at 20:42

I use Folder Sync.
But it depends on your android version, If you have 5.1 or above then the application developers must include Environment.getExternalStorage.....


File file = new File(Environment.getExternalStorageDirectory(), "myfile.txt"); 

instead of the old hard coded way.

File file = new File("SDCard", "myfile.txt"); 

For more information about pause resume with FTP, i have included a link to a development question regarding pause resume on Android Clients

Folder Sync Free

Developing FTP Client with Pause Resume on Android

For terminal emulator, you should run

getprop vold.path.external_sd

then try running the external directory as returned





It's usually just one directory / legacy directory isn't accessible anymore. so you need to get the actual path with some command...


getprop will return all current system properties, this includes storage paths and network status results

  • So I need to use root for your app. but I am waiting the android 7 feature for that. Sep 29 '17 at 6:45
  • You shouldn't ever need root access to access the SD Card unless the Application uses an old hard coded SD Card Path .... I know that you can do a folder pick, then click Show SD Card, Then select the folder on SD Card to save to... It shouldn't be called SD Card, but something like E4-534/download/path instead of SDCard/download/path.... This doesn't need root access just the correct coding Sep 30 '17 at 0:36
  • It doesn’t seems to support download pausing and resuming. I’ve only part time Internet access. Sep 30 '17 at 0:40
  • Ok, how big is the file ? .. I'm not sure about pause resume capability on most FTP Servers because of low security with raw data being sent, username, password etc... Sep 30 '17 at 0:46
  • You can pause and resume anytime with wget or aria2 on ftp servers (the connection is closed and on reopening the download starts with an offset). It’s 30ɢb large but as an xml file, it’s size can eventually be reduced before downloading.. Sep 30 '17 at 0:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.