android文件操作-目录,文件存在性,读写文件
方法如下:
我们假设SD卡是存在的,如果要检测SD卡是否存在,请参考前面的关于录音的文章,里面有具体的内容,和使用SD卡需要添加的权限,否则无法操作扩展存储设备
1.只创建一级目录的形式为:
例如:只在SD卡上建立一级目录("/sdcard/audio/"):
代码 boolean isFolderExists(String strFolder) { File file = new File(strFolder); if (!file.exists()) { if (file.mkdir()) { return true; } else return false; } return true; }
2.建立多级目录的形式如下:
例如:在SD卡上建立多级目录("/sdcard/meido/audio/"):
代码 boolean isFolderExists(String strFolder) { File file = new File(strFolder); if (!file.exists()) { if (file.mkdirs()) { return true; } else { return false; } } return true; }
判断单个文件是否存在:
public boolean fileIsExists(String fullfile){ //full direcation // File f=new File("/sdcard/stockDic.dat"); File f=new File(fullfile); if(!f.exists()){ return false; } return true; }
下面是一个demo:
package com.example.androidfilestreamdemo; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.PrintStream; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; public class MainActivity extends Activity implements OnClickListener { private final static String FILE_NAME="hello.txt"; private Button mBRead; private Button mBWrite; private EditText edit1,edit2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mBWrite=(Button)findViewById(R.id.button1); mBRead=(Button)findViewById(R.id.button2); mBWrite.setOnClickListener(this); mBRead.setOnClickListener(this); edit1=(EditText)findViewById(R.id.editText1); edit2=(EditText)findViewById(R.id.editText2); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public void onClick(View v) { // TODO Auto-generated method stub int id; id=v.getId(); switch(id){ case R.id.button1: write2file(edit1.getText().toString()); break; case R.id.button2: edit2.setText(readfnfile()); break; default: } } public String readfnfile(){ try { FileInputStream finput=openFileInput(FILE_NAME); byte[] buff=new byte[1024]; int hasread=0; StringBuilder sb=new StringBuilder(""); try { while((hasread=finput.read(buff))>0){ sb.append(new String(buff,0,hasread)); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return sb.toString(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; } public void write2file(String detail){ try { FileOutputStream fopen=openFileOutput(FILE_NAME,MODE_APPEND); PrintStream ps=new PrintStream(fopen); ps.println(detail); ps.close(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }

浙公网安备 33010602011771号