android文件处理
16lz
2021-01-23
1. 获取文件大小
view plain copy to clipboard print ?- public static final int MAX_ATTACHMENT_UPLOAD_SIZE=(5*1024*1024);
- Filefile=new File( "/sdcard/default/aaa.txt" );
- long size=file.length(); //获取文件大小,单位为bytes
- if (size>Email.MAX_ATTACHMENT_UPLOAD_SIZE) //判断文件大小,最大5MB=5*1024*1024bytes
- {
- Toast.makeText(this , "Fileexceed5MB,toolargetoattach" ,Toast.LENGTH_LONG)
- .show();
- }
2. 判断文件后缀
view plain copy to clipboard print ?- Filefolder= new File( "/sdcard/data" );
- PickerFilterfilter=new PickerFilter();
- File[]files=folder.listFiles(filter);
- int fileCount=files.length; //获取当前目录下文件的个数
- StringfileName=files[0].getName();//获取第一个文件的名字
- /*先将文件名转换为小写,因为endsWith函数会区分大小写,若后缀为.Txt,
- 判断时会出现不匹配于.txt导致判断有误*/
- fileName=fileName.toLowerCase();
- booleanisTxt=fileName.endsWith(".txt" );
3. 文件大小 单位转换
view plain copy to clipboard print ?- public static StringformatSize( float size)
- {
- long kb=1024;
- long mb=(kb*1024);
- long gb=(mb*1024);
- if (size<kb){
- return String.format( "%dB" ,( int )size);
- }
- else if (size<mb){
- return String.format( "%.2fKB" ,size/kb); //保留两位小数
- }
- else if (size<gb){
- return String.format( "%.2fMB" ,size/mb);
- }
- else {
- return String.format( "%.2fGB" ,size/gb);
- }
- }
4. android在SD卡上创建文件保存信息
1)判断是否存在SD卡
2)获取SD卡目录
3)在SD卡目录下创建文件
4)写入信息到文件中
view plain copy to clipboard print ?- //判断SD卡是否存在
- booleansdCardExist=Environment.getExternalStorageState()
- .equals(android.os.Environment.MEDIA_MOUNTED)
- if (sdCardExist)
- {
- //获取SD卡目录
- FilesdDir=Environment.getExternalStorageDirectory();
- //在SD卡目录下创建文件smsLog.txt文件,true表示当文件存在时,信息追加在文件尾
- FileWriterfw=new FileWriter(sdDir.toString()+ "/smsLog.txt" , true );
- //获取当前时间
- Calendarcalendar=Calendar.getInstance();
- Dated=calendar.getTime();
- fw.write("短信接收时间:" +d.toString());
- fw.write("\r\n" ); //写入换行
- fw.write("短信内容:" );
- fw.write("\r\n" );
- //关闭文件
- fw.close();
- }
更多相关文章
- Android复制Assets目录下的文件到指定目录
- Gradle导入so文件
- android 对SD卡文件的I/O操作
- Android中将布局文件/View添加至窗口过程分析 ---- 从setContent