将文件存入SDCard

来源:互联网 发布:淘宝热卖紫砂壶推荐 编辑:程序博客网 时间:2024/04/30 01:45

首先,SDCard所在的路径:

/mnt/sdcard android2.2

/sdcard android2.2版本之前 /sdcard-à/mnt/sdcard用哪个都可以,镜像

业务层代码:

public void saveToSDCard(String filename, String filecontent)throws IOException {// 建议不要使用绝对路径//File file = new File("/mnt/sdcard", filename);System.out.println(Environment.getExternalStorageDirectory());File file=new File(Environment.getExternalStorageDirectory(),filename);FileOutputStream fos = new FileOutputStream(file);// 创建文件输出流fos.write(filecontent.getBytes());fos.close();}

MainActivity.java代码:

 

package cn.bzu.fileoperation;import java.io.IOException;import cn.bzu.service.FileService;import android.os.Bundle;import android.os.Environment;import android.app.Activity;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;import android.support.v4.app.NavUtils;public class MainActivity extends Activity {private FileService fileService;private Button saveButton;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);fileService = new FileService(this);saveButton = (Button) this.findViewById(R.id.save);saveButton.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {EditText fileNameText = (EditText) findViewById(R.id.filename);EditText fileContentText = (EditText) findViewById(R.id.filecontent);String fileName = fileNameText.getText().toString();String fileContent = fileContentText.getText().toString();if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {try {fileService.saveToSDCard(fileName, fileContent);Toast.makeText(MainActivity.this, R.string.success,Toast.LENGTH_LONG).show();} catch (IOException e) {e.printStackTrace();Toast.makeText(MainActivity.this, R.string.failure,Toast.LENGTH_LONG).show();}}else{Toast.makeText(MainActivity.this, R.string.sdcarderror, Toast.LENGTH_LONG).show();}}});}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {getMenuInflater().inflate(R.menu.activity_main, menu);return true;}}

AndroidManifest.xml中设置权限:

 <!-- 创建文件删除文件权限 -->    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />    <!-- 往SDCard写入数据权限 -->    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />


 

 

原创粉丝点击