美文网首页
文件存储的简单实现

文件存储的简单实现

作者: Android初学者 | 来源:发表于2017-11-23 09:32 被阅读0次

代码实现

public class FileActivity extends AppCompatActivity implements View.OnClickListener {

protected Button mReadFileBtn;

protected Button mWriteFileBtn;

protected TextView mResultTv;

public static void startActivity(Context context) {

context.startActivity(new Intent(context, FileActivity.class));

}

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

super.setContentView(R.layout.activity_file);

initView();

}

@Override

public void onClick(View view) {

if (view.getId() == R.id.read_file_btn) {

String result = readFile();

mResultTv.setText(result);

} else if (view.getId() == R.id.write_file_btn) {

writeFile();

}

}

// 读取文件

private String readFile() {

String filePath = Environment.getExternalStorageDirectory().getPath() + "/abc/";

String fileName = "xyz.txt";

File file = new File(filePath, fileName);

BufferedReader br = null;

try {

br = new BufferedReader(new InputStreamReader(new FileInputStream(file)));

String result = "";

String line = "";

while ((line = br.readLine()) != null) {

result += line;

}

return result;

} catch (Exception e) {

e.printStackTrace();

} finally {

if (br != null) {

try {

br.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

return null;

}

// 写入文件

private void writeFile() {

// 外部存储私有路径:Android文件夹

//        String privatePath = getExternalFilesDir(null).getPath();// 私有路径不分类为null

//        String filePath = privatePath + "/abc/";

// 外部存储公共路径:DICM,DOWNLOAD,MUSIC等系统提供的文件夹

//        String publicPath = Environment

//                .getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)

//                .getPath();

//        String filePath = publicPath + "/abc/";

// 自定义文件路径

String rootPath = Environment.getExternalStorageDirectory().getPath();// 外部存储路径(根目录)

String filePath = rootPath + "/abc/";

String fileName = "xyz.txt";

File file = new File(filePath, fileName);

FileOutputStream fos = null;

try {

fos = new FileOutputStream(file);

fos.write("asdasdas".getBytes());

Toast.makeText(this, "成功", Toast.LENGTH_SHORT).show();

} catch (Exception e) {

e.printStackTrace();

Log.d("1507", "error: " + e.getMessage());

} finally {

if (fos != null) {

try {

fos.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

private void initView() {

mReadFileBtn = (Button) findViewById(R.id.read_file_btn);

mReadFileBtn.setOnClickListener(FileActivity.this);

mWriteFileBtn = (Button) findViewById(R.id.write_file_btn);

mWriteFileBtn.setOnClickListener(FileActivity.this);

mResultTv = (TextView) findViewById(R.id.result_tv);

}

}

相关文章

网友评论

      本文标题:文件存储的简单实现

      本文链接:https://www.haomeiwen.com/subject/eaiavxtx.html