重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
@Override
网站建设哪家好,找成都创新互联!专注于网页设计、网站建设、微信开发、小程序设计、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了永顺免费建站欢迎大家使用!
public void onClick(View view) {
String state = Environment.getExternalStorageState();//获取外部设备状态
//检测外部设备是否可用
if(!state.equals(Environment.MEDIA_MOUNTED)) {
Toast.makeText(this, "外部设备不可用", Toast.LENGTH_SHORT).show();
return;
}
//创建文件
File sdCard = Environment.getExternalStorageDirectory();//获取外部设备的目录
File file = new File(sdCard,"文件名.txt");//文件位置
try {
FileOutputStream outputStream = new FileOutputStream(file);//打开文件输出流
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(outputStream));//写入到缓存流
writer.write("这里是要写入到文件的数据");//从从缓存流写入
writer.close();//关闭流
Toast.makeText(this, "输出成功", Toast.LENGTH_SHORT).show();
}
catch(Exception exception) {
Toast.makeText(this, "输出失败", Toast.LENGTH_SHORT).show();
}
}
写入到文件管理时需要权限
uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/
读文件:
1、通过File获取文件
2、打开输入流,读取文件
写文件:
1、创建文件
2、打开输出流,写入文件内容
示例:
读文件:
String content = ""; //文件内容字符串
//通过路径/sdcard/foo.txt打开文件
File file = new File("/sdcard/foo.txt");
try {
InputStream instream = new FileInputStream(file);//读取输入流
InputStreamReader inputreader = new InputStreamReader(instream);//设置流读取方式
BufferedReader buffreader = new BufferedReader(inputreader);
while (( line = buffreader.readLine()) != null) {
content += line + "\n";//读取的文件内容
}
}catch(Exception ex){
}
写文件:
File file = new File("/sdcard/foo.txt");//
if(!file.exists())
file.createNewFile();//如果文件不存在,创建foo.txt
try {
OutputStream outstream = new FileOutputStream(file);//设置输出流
OutputStreamWriter out = new OutputStreamWriter(outstream);//设置内容输出方式
out.write("文字内容");//输出内容到文件中
out.close();
} catch (java.io.IOException e) {
e.printStackTrace();
}
IO流(操作文件内容): 字节流
参考:
AssetManager
assets 文件夹用于存储应用需要的文件,在安装后可直接从其中读取使用或者写入本地存储中
Android Studio 默认不建立该文件夹,可以手动新建 : app - src - main - assets
或者,右键 main - New - Folder - Assets Folder
AssetManager 对象可以直接访问该文件夹:
获取方法:
使用函数 open 可以打开 assets 文件夹中对象,返回一个 InputStream 对象:
open
获取方法: