public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
try{
write("cai.sq","welcome to the hell");
String str = read("cai.sq");
Log.v("sq", str);
}catch(IOException e){e.printStackTrace();}
}
String read(String fileName)throws IOException
{
StringBuilder sb = new StringBuilder();
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED))//判断sd卡是否已将插上,并且应用程序有读的权限
{
File sdCardDir = Environment.getExternalStorageDirectory(); //获取sd卡对应的存储目录
FileInputStream fis = new FileInputStream(sdCardDir.getCanonicalFile() +"/" + fileName);// 获得指定文件对应的输入流
BufferedReader br = new BufferedReader(new InputStreamReader(fis)); //转化为缓冲流
String line=null;
while((line = br.readLine())!=null)
{
sb.append(line);
}
br.close();
fis.close();
return sb.toString();
}else
return null;
}
void write(String fileName,String content) throws IOException
{
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED))//判断sd卡是否已将插上,并且应用程序有读的权限
{
File sdCardDir = Environment.getExternalStorageDirectory(); //获取sd卡对应的存储目录
File targerFile = new File(sdCardDir.getCanonicalFile() +"/"+ fileName); //获取目标文件
RandomAccessFile raf = new RandomAccessFile(targerFile, "rw"); //“rw”表示可读可写
raf.seek(targerFile.length()); //将文件指针移到文件末尾,为了追加数据
raf.write(content.getBytes()); //写数据
raf.close();
}
}
//不要忘了在 manifest 中赋予权限
// <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> <!-- 注册: 挂载、卸载文件系统的权限 -->
// <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <!-- 注册: 向SD 卡写入数据的权限 -->