It depends what you mean by external storage. If you mean the external storage on the internal SD card, then
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
in the manifest should be sufficient, assuming it is also granted in the App's security settings for Marshmallow and later.
On the other hand, if you mean an external removable SD card, then you will almost certainly not be able to write to it on KitKat or later unless you have taken specific steps to make it writeable.
There is a good summary of the state of play with removable SD cards here, which I suggest you take a look at:
How does storage access change on Android 6.