把文件存放在SDCard中

来源:互联网 发布:worktile基础版 mac 编辑:程序博客网 时间:2024/05/16 12:44
    <!-- 在SDCard中创建与删除文件权限 -->
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> 
    <!-- 网SDCard写入数据权限 -->

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

public class FileService {
/*保存文件
* 文件名称
* 文件内容
*/
private Context context;
public FileService(Context context){
super();
this.context=context;
}
public void savaToSDCard (String filename, String filecontent) throws Exception{           //保存到SD卡中
File file=new File(Environment.getExternalStorageDirectory(),filename);
FileOutputStream outStream=new FileOutputStream(file);
outStream.write(filecontent.getBytes());
outStream.close();
}

}



public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button button=(Button) findViewById(R.id.button1);
        button.setOnClickListener(new ButtonClickListener());
    }
    private final class ButtonClickListener implements View.OnClickListener{
@Override
public 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();  
//得到用户输入的文件内容
FileService service=new FileService(getApplicationContext()); 
try {
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
        service.savaToSDCard(filename,filecontent);//保存到SDCard中
        Toast.makeText(getApplicationContext(), R.string.success, 1).show();
}else{
Toast.makeText(getApplicationContext(), R.string.sdcarderror, 1).show();
}
//判断SDCard是否存在,并且是否可以读写
} catch (Exception e) {
Toast.makeText(getApplicationContext(), R.string.fail, 1).show();
e.printStackTrace();
}  
}  
    }
}

0 0
原创粉丝点击