微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Android 文件读写

下面是编程之家 jb51.cc 通过网络收集整理的代码片段。

编程之家小编现在分享给大家,也给大家做个参考。

    <!-- 在SDCard中创建与删除文件权限 -->    
        
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYstemS"/>    
        
    <!-- 往SDCard写入数据权限 -->    
        
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>    

然后将文件操作封装在一个类中,在这里我把它命名为FileOption,先将代码粘贴如下:
    package com.example.littleapplication;  
      
    import java.io.BufferedReader;  
    import java.io.File;  
    import java.io.FileInputStream;  
    import java.io.FileNotFoundException;  
    import java.io.IOException;  
    import java.io.InputStreamReader;  
    import java.io.RandomAccessFile;  
    import java.util.Vector;  
      
    import android.os.Environment;  
    import android.util.Log;  
      
    public class FileOption {  
        private String fileName;  
        private File targetFile;  
        private File sdCardDir;  
          
        public FileOption(String fileName) throws IOException {  
            // Todo Auto-generated constructor stub  
            boolean mark = Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED);  
            if(mark)  
            {  
                this.fileName = fileName;  
                this.sdCardDir = Environment.getExternalStorageDirectory();  
                this.targetFile = new File(this.sdCardDir.getCanonicalPath()+this.fileName);      
                if(this.targetFile.exists()==false)  
                {  
                    this.targetFile.createNewFile();  
                }  
            }  
            else{  
                Log.e("SDK","无内存卡");  
            }  
        }  
      
              
              
              
          
      
        public Vector read() throws FileNotFoundException,IOException {  
              
            FileInputStream fis = new FileInputStream(this.sdCardDir.getCanonicalPath()+this.fileName);  
            BufferedReader br = new BufferedReader(new InputStreamReader(fis));  
            Vector res = new Vector();  
            String line = null;  
            while((line = br.readLine())!=null)  
            {  
                res.add(line);  
            }  
            br.close();  
            return res;  
            // Todo Auto-generated method stub  
        }  
        public boolean write(String add) throws IOException  
        {  
            RandomAccessFile raf = new RandomAccessFile(this.targetFile,"rw");  
            raf.seek(targetFile.length());  
            //换行  
              
            raf.write(add.getBytes());  
            raf.writeChar('\n');  
            raf.close();  
            return true;  
        }  
        /**返回一共有多少条记录 
         * @throws IOException  
         * @throws FileNotFoundException */  
        public int size() throws FileNotFoundException,IOException  
        {  
            FileInputStream fis = new FileInputStream(this.sdCardDir.getCanonicalPath()+this.fileName);  
            BufferedReader br = new BufferedReader(new InputStreamReader(fis));  
            String line = null;  
            int count = 0;  
            while((line = br.readLine())!=null)  
            {  
                count++;  
            }  
            //每三行代表一个数据项  
            //分别是 id title content data level  
            return count/5;  
        }  
      
    }  

以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐