android sdcard 创建文件总是失败!

问题描述

小弟最近在做一个MP3播放器当作练习,可是到在SDCard创建文件时老是报错,弄了好几天都解决不了。麻烦各位指点迷津,非常感谢。每当执行到file.createNewFile()就报错,报错信息是java.io.IOException: invalid argument目录能够成功创建,就文件不行。目录路径:/mnt/sdcard/mp3/ 文件路径:/mnt/sdcard/mp3/heart.mp3注:sdcard文件操作权限已添加 问题补充:非常感谢lz解答,可能我表达的不清楚,我创建目录和文件的代码就是像lz那样写的。今天运行lz的代码进行对比,终于找出来原因了。原来是文件名后面有一个空格,导致创建文件失败。源代码如下:File file=new File(fileName);//fileName变量结尾存在空格,导致参数无效。要 先用trim(),去除前后空格if(!file.exists()) file.createNewFile();

解决方案

根本原因是你的mp3那个目录不存在,也就是说你要创建heart.mp3这个文件,mp3这个目录必须存在,另外创建目录和创建文件不一样的,创建目录file.mkdir(),创建文件才是file.createNewFile();建议楼主多看看文件操作的基础,系统的看一下。附上代码,已经测试通过package com.android.file;import java.io.File;import java.io.IOException;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;public class AndroidtestActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Button btn = new Button(this); btn.setText("点击"); setContentView(btn); btn.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {File directory = new File("/mnt/sdcard/mp3/");File file = new File("/mnt/sdcard/mp3/hear.mp3");if(!directory.exists()){directory.mkdir();//没有目录先创建目录}try {if(file.createNewFile()){Toast.makeText(AndroidtestActivity.this, "创建文件成功", Toast.LENGTH_SHORT).show();}} catch (IOException e) {e.printStackTrace();}}}); }}

时间: 2024-09-12 09:14:22

android sdcard 创建文件总是失败!的相关文章

android中创建文件夹。。。。。

问题描述 android中创建文件夹..... #android中不能创建文件夹,哪里都不能! 调试返回结果底下三个全是false void createFile(File onClickFile, String fileName) { File f = new File(onClickFile.getAbsolutePath(), fileName); if (!f.exists()) { try { if (f.mkdirs()) { Toast.makeText(listActivity,

中创-asp.net创建文件夹失败....新建一级文件夹正常,新建二级文件夹失败

问题描述 asp.net创建文件夹失败....新建一级文件夹正常,新建二级文件夹失败 asp.net的一个项目 大致就是给用户在服务器上分配一个控件,比如系统中有个文件夹叫aaa,我在用户 用户登录之后在aaa在aaa中创建一个文件夹叫admin,但是当admin用户登录之后, 如果admin在aaa下新建文件夹不成功 本机的iis以及程序都是正常的,但是部署到服务器上就不行 不是路径的问题,因为我本机都是好的,而且不报任何错误 想问下有没有遇到此问题的人 解决方案 检查下是不是权限的问题. 解

Android SDCard操作(文件读写,容量计算)

原文:http://crackren.iteye.com/blog/747121 android.os.Environment 提供访问环境变量   java.lang.Object     android.os.Environment   Environment 静态方法:   方法 : getDataDirectory () 返回 : File 解释 : 返回Data的目录 方法 : getDownloadCacheDirectory () 返回 : File 解释 : 返回下载缓冲区目录

Android sdcard媒体文件更新

本文出之于网络,非本人撰写             Android平台基于Linux和开放手机联盟(OHA)系统,经过中国移动的创新研发,设计出拥有新颖独特的用户操作界面,增强了浏览器能力和WAP 兼容性,优化了多媒体领域的OpenCORE.浏览器领域的WebKit等业内众多知名引擎,增加了包括游戏.Widget.Java ME等在内的先进平台中间件.本文主要介绍如何利用OPhone平台提供的多媒体编程环境进行音乐资源的管理与播放. MediaScanner与音乐信息扫描 Android系统在S

实用正则表达式扫描android SDcard的文件

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 8

android 创建文件夹,文件需要注意的格式

今天在做保存图片的时候出了一个02-03 09:46:25.687: W/System.err(1672): java.io.IOException: open failed: EINVAL (Invalid argument)  这样一个错误,查了下资料才知道是android中创建文件夹文件名的时候不能有冒号,也不能有空格.记录一下

软件开发-安卓 无法在sd咔创建文件夹,创建文件就可以,请问怎么解决?

问题描述 安卓 无法在sd咔创建文件夹,创建文件就可以,请问怎么解决? 先上一段创建文件夹的代码: if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { File f=Environment.getExternalStorageDirectory(); try { str = f.getCanonicalPath() + "/mytest"; if (!f.exists()) f.mk

Android SD卡创建文件和文件夹失败

原文:Android SD卡创建文件和文件夹失败 功能需要,尝试在本地sd卡上创建文件和文件夹的时候,报错,程序崩溃. 一般情况下,是忘记给予sd卡的读写权限.但是这里面权限已经给了,还是报错. 在网上搜索关于这方面的问题,发现有网友给出解答: 4.4之后,不能随便在sd卡上面创建文件或者文件夹了, 只能在Android/data/你的包名/, 这个路径下创建或者修改,当然,Android/data/你的包名/,这个路径你也是创建不了的, 调用下this.getExternalFilesDir(

Android实现把文件存放在SDCard的方法_Android

本文实例讲述了Android实现把文件存放在SDCard的方法.分享给大家供大家参考.具体如下: 使用Activity的openFileOutput()方法保存文件,文件是存放在手机空间上,一般手机的存储空间不是很大,存放些小文件还行,如果要存放像视频这样的大文件,是不可行的.对于像视频这样的大文件,我们可以把它存放在SDCard. SDCard是干什么的?你可以把它看作是移动硬盘或U盘. 在模拟器中使用SDCard,你需要先创建一张SDCard卡(当然不是真的SDCard,只是镜像文件).创建