запишете и качете файл от вътрешната памет

запишете и качете файл от вътрешна памет в android

Опитах се да запазя файл във вътрешна памет

String smsXml = "<messages><sms><From>" + address + "</From><Date>" + finalDateString + "</Date><Body>" + msg +"</Body></sms></messages>";

            try {
                //saving the file as a xml
                FileOutputStream fOut = openFileOutput("textMessage.xml",MODE_WORLD_READABLE);
                OutputStreamWriter osw = new OutputStreamWriter(fOut);
                osw.write(smsXml);
                osw.flush();
                osw.close();
            }
            catch (Throwable e) {
                Log.d("Exception","Exception:"+ e);
            } 

Сега се опитвам да кача файла на сървъра, но как мога да получа път към файла, за да кача това. Успешно качих .mp3 от sd карта, но как да направя това от вътрешна памет.Следвайте тази връзка за качване на .mp3

final String uploadFilePath = "android/data/data/com.example.sms/files/";
final String uploadFileName = "textMessage.xml";

person Anirban    schedule 12.11.2013    source източник


Отговори (1)


Използвайте getFileStreamPath(). Това ще върне файла, създаден от openFileOutput метод в Files директория.

File file = getFileStreamPath("textMessage.xml");

След това можете да получите низа на пътя с getPath метод:

String path = file.getPath();
person Timuçin    schedule 12.11.2013
comment
които връщат File не string - person Anirban; 12.11.2013
comment
О да. След това използвайте и getPath. - person Timuçin; 12.11.2013
comment
няма метод с име getPath - person Anirban; 12.11.2013
comment
Сигурен ли си? ще го извикате на File object. Добавих връзката към документацията на метода. Провери го. - person Timuçin; 12.11.2013