что такое папка sdcard и как я могу создавать файлы, читать и записывать их в нее - PullRequest
0 голосов
/ 20 августа 2010

, пожалуйста, кто-нибудь, скажите мне, что это за папка sdcard и как я могу создавать в ней файлы. Потому что я новичок в android, и я так много гуглил, но не смог найти исчерпывающий материал. Я хочу создать файл в sdcard вручную , пожалуйста, помогите.

вот мой код, который я написал, но теперь он говорит, что fileNotFoundException. поэтому я создал файл в SDCard, но он не распознает файл. Любые предложения, пожалуйста.

попробовать {

                String root = android.os.Environment.getExternalStorageDirectory().getPath();
                File gpxfile = new File(root, "sijjeel.txt");
                //FileWriter writer = new FileWriter(gpxfile);

                FileOutputStream writer = new FileOutputStream(gpxfile);
                writer.write(bArray, 0, bArray.length);

                writer.flush();
                writer.close();

        } 

большое спасибо

Ответы [ 3 ]

1 голос
/ 20 августа 2010

Путь к SDCard:

android.os.Environment.getExternalStorageDirectory().getPath()

Для записи файла вы можете использовать для этого обычные методы java.io.File.

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

 /**
  * Stores text content into a file
  * @param filename Path to the output file
  * @param content Content to be stored in file
  * @throws IOException
  */
 public void storeFile(final String filename, final String content, String charSet)
 throws IOException {
     if (charSet==null) charSet = "utf-8";
     Writer w = new OutputStreamWriter( new FileOutputStream(filename), charSet );
     w.write(content);
     w.flush();
     w.close();
 }

 public void storeFile(final String filename, final String content)
 throws IOException {
     storeFile(filename, content, null);
 }

или копирование файла на SDCard:

public static final void copyfile(String srFile, String dtFile){
    try{
        File f1 = new File(srFile);
        File f2 = new File(dtFile);
        InputStream in = new FileInputStream(f1);
        OutputStream out = new FileOutputStream(f2);
        byte[] buf = new byte[1024];
        int len;
        while ((len = in.read(buf)) > 0){
            out.write(buf, 0, len);
        }
        in.close();
        out.close();
        System.out.println("File copied to " + f2.getAbsolutePath());
    } catch(FileNotFoundException ex){
        System.out.println(ex.getMessage() + " in the specified directory.");
        System.exit(0);
    } catch(IOException e){
        System.out.println(e.getMessage());
    }
}
0 голосов
/ 20 августа 2010

Код, который вы указали, создаст файл, если его там еще нет.Убедитесь, что вы запускаете программу на эмуляторе, на котором установлена ​​SD-карта.Если это не так, вы можете увидеть значок в области уведомлений, говорящий об этом.

0 голосов
/ 20 августа 2010

Это /sdcard (если у вас на самом деле есть карта)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...