中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

Android 文件讀寫

2018-07-20    來源:open-open

容器云強勢上線!快速搭建集群,上萬Linux鏡像隨意使用

關(guān)于Android文件的讀寫有兩種方式

一種是將txt文件當(dāng)成資源文件放在res/raw或則res/asset文件夾下,raw的文件可以通過R.raw.fileName獲得,asset下的文件可以通過AssetManager am = getAssets();am.open(“FileName”);來打開文件。但是如果把文件當(dāng)成資源文件存放的話,只能讀不能寫。如果要想寫入數(shù)據(jù)的話,就使用第二種方法

第二種方法從sd卡中讀寫文件,這樣首先要向AndroidManifest.xml中加入兩條權(quán)限消息

    <!-- 在SDCard中創(chuàng)建與刪除文件權(quán)限 -->    
        
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>    
        
    <!-- 往SDCard寫入數(shù)據(jù)權(quán)限 -->    
        
    <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", "無內(nèi)存卡");  
            }  
        }  
      
              
              
              
          
      
        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++;  
            }  
            //每三行代表一個數(shù)據(jù)項  
            //分別是 id title content data level  
            return count/5;  
        }  
      
    }  

標(biāo)簽: 代碼 權(quán)限

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:C# 自定義cookie封裝類,簡化Cookie操作

下一篇:C#自定義基于Base64的加密解密類