Android读写SD卡

来源:互联网 发布:手机淘宝 平板 编辑:程序博客网 时间:2024/05/18 00:06

最近遇到一个问题,用平板可以蓝牙接收到txt数据,同样程序,在手机上测试,就找不到txt文本,

之前程序:

//   ---------创建文件夹WristDay,把采集的数据全放在该文件夹下                 //通过创建对应路径的下是否有相应的文件夹。                File dir = new File( "/sdcard/WristDay/");                if (!dir.exists()) {// 判断文件目录是否存在                    //如果文件存在则删除已存在的文件夹。                    dir.mkdirs();                }                //如果文件存在则删除文件                File   file = new File("/sdcard/WristDay/", filename+time+".txt");    

 修改一下程序,就可以在手机上找到txt文本了。

// SD卡指定文件夹//得到的是/mnt/sdcard/ 即SD卡的根目录    String sdcardPath = Environment.getExternalStorageDirectory().toString();    // File.separator 与系统有关的默认分隔符    File dir = new File(sdcardPath + File.separator + "WristDay"+ File.separator );                              if (!dir.exists()) {// 判断文件目录是否存在                    //如果文件存在则删除已存在的文件夹。                    dir.mkdirs();                }                //如果文件存在则删除文件                File   file = new File(sdcardPath + File.separator + "WristDay" + File.separator , filename+time+".txt");        

可能原因我猜想,可能手机识别不了"/",但为什么华为平板就可以?Mark下


相关知识转载:

Android读写SD卡


http://www.cnblogs.com/roucheng/p/sdka.html


SD卡的读写是我们在开发Android 应用程序过程中最常见的操作。下面介绍SD卡的读写操作方式:

   1. 获取SD卡的根目录

String  sdCardRoot = Environment.getExternalStorageDirectory().getAbsolutePath();   // 何问起 hovertree.com

 2. 在SD卡上创建文件夹目录

复制代码
/**  * 在SD卡上创建目录  */  public File createDirOnSDCard(String dir)  {      File dirFile = new File(sdCardRoot + File.separator + dir +File.separator);      Log.v("createDirOnSDCard", sdCardRoot + File.separator + dir +File.separator);      dirFile.mkdirs();      return dirFile;  }  // 何问起 hovertree.com
复制代码

 3. 在SD卡上创建文件

复制代码
/**  * 在SD卡上创建文件  */  public File createFileOnSDCard(String fileName, String dir) throws IOException  {      File file = new File(sdCardRoot + File.separator + dir + File.separator + fileName);      Log.v("createFileOnSDCard", sdCardRoot + File.separator + dir + File.separator + fileName);      file.createNewFile();      return file;  }  // 何问起 hovertree.com
复制代码

4.判断文件是否存在于SD卡的某个目录

复制代码
/**  * 判断SD卡上文件是否存在  */  public boolean isFileExist(String fileName, String path)  {      File file = new File(sdCardRoot + path + File.separator + fileName);      return file.exists();  }  // 何问起 hovertree.com
复制代码

  5.将数据写入到SD卡指定目录文件

复制代码
// 何问起 hovertree.com/* 写入数据到SD卡中      */      public File writeData2SDCard(String path, String fileName, InputStream data)      {          File file = null;          OutputStream output = null;                    try {              createDirOnSDCard(path);  //创建目录              file = createFileOnSDCard(fileName, path);  //创建文件              output = new FileOutputStream(file);              byte buffer[] = new byte[2*1024];          //每次写2K数据              int temp;              while((temp = data.read(buffer)) != -1 )              {                  output.write(buffer,0,temp);              }              output.flush();                        } catch (Exception e) {              e.printStackTrace();          }          finally{              try {                  output.close();    //关闭数据流操作              } catch (Exception e2) {                  e2.printStackTrace();              }          }                    return file;      } 
复制代码

   one more important thing:

      对SD卡的操作,必须要申请权限:    

 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>



                
   




   
   

原创粉丝点击