Как записать файл TXT на SD-карту?

File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
File logfile = new File(path, "andrometer.txt");
String[] assignArr = new String [7];

assignArr[0]= finalValue + "17";
assignArr[1]= range + "16";
assignArr[2]= activeMode;

if (assignArr.length > 0)
{
    try {
        if (path.canWrite()){
            FileWriter filewriter = new FileWriter(logfile);
            BufferedWriter out = new BufferedWriter(filewriter);
            for (int i1=0; i1<assignArr.length; i1++)
            {
                out.write(assignArr[0] + "\n");
                out.write(assignArr[1] + "\n");
                out.write(assignArr[2] + "\n");
                Toast.makeText(AndroMeter.this, "out: " + assignArr[2], Toast.LENGTH_LONG).show();
            }
            out.close();
        }
    } catch (IOException e) {
        Log.e("TAG", "Could not write file " + e.getMessage());
    }
};

Этот код работал пару недель назад, и теперь я не могу его получить. Я считаю, что у меня есть разрешение в манифесте правильно, я пытался писать в корень, а не в конкретную папку, я тестировал фиктивные данные вместо имен переменных. На данный момент файл не создается.


person user2213723    schedule 26.03.2013    source источник


Ответы (1)


Попробуйте написать:

FileOutputStream fo=new FileOutputStream("/sdcard/filename");
person WSS    schedule 27.03.2013
comment
Я полагаю, вы ищете Environment.getExternalStorageDirectory(). - person jww; 18.02.2015