• 安卓SD卡的操作


    /**
    	 * 得到常用路径
    	 */
    	public void getDir(){
    		// /mnt/sdcard
    		File root=Environment.getExternalStorageDirectory();
    		
    		// /system
    		File root=Environment.getRootDirectory();
    		
    		// /cache
    		File root=Environment.getDownloadCacheDirectory();
    		
    		// /data
    		File root=Environment.getDataDirectory();
    		
    		
    		// /storage/emulated/0/Music
    		//String type=Environment.DIRECTORY_MUSIC;
    		
    		//String type=Environment.DIRECTORY_PICTURES;
    		File root=Environment.getExternalStoragePublicDirectory(type);
    		
    		
    		System.out.println("root="+root.getAbsolutePath());
    	}
    	
    	
    	/**
    	 * 获取手机SDCard的总容量
    	 * @return
    	 */
    	public long getSDCardTotalCapacity(){
    		if(this.isSDCardUse()){
    			// /mnt/sdcard
    			File root=Environment.getExternalStorageDirectory();
    			//根据SDCard的路径得到状态文件系统对象
    			StatFs statFs=new StatFs(root.getPath());
    			
    			//得到每一块数据的大小,以字节为单位
    			long blockSize=statFs.getBlockSize();
    			System.out.println("blockSize="+blockSize);
    			
    			//得到当前手机SDCard一共有多少个数据块
    			long blockCount=statFs.getBlockCount();
    			System.out.println("blockCount="+blockCount);
    			
    			//return blockCount*blockSize;//默认以字节为单位
    			return blockCount*blockSize/1024/1024/1024;//默认以字节为单位,换算成GB
    			
    		}else{
    			throw new RuntimeException("当前手机SDCard不存在或者不可用!");
    		}
    	}
    	
    	/**
    	 * 获取手机SDCard可用容量
    	 * @return
    	 */
    	public long getSDCardAvailableCapacity(){
    		if(this.isSDCardUse()){
    			// /mnt/sdcard
    			File root=Environment.getExternalStorageDirectory();
    			//根据SDCard的路径得到状态文件系统对象
    			StatFs statFs=new StatFs(root.getAbsolutePath());
    			
    			//得到每一块数据的大小,以字节为单位
    			int blockSize=statFs.getBlockSize();
    			
    			//得到当前手机SDCard可用容量的SDCard块数
    			int availableBlocks=statFs.getAvailableBlocks();
    			
    			
    			//return availableBlocks*blockSize;//默认以字节为单位
    			return availableBlocks*blockSize/1024/1024/1024;//默认以字节为单位,换算成GB
    			
    		}else{
    			throw new RuntimeException("当前手机SDCard不存在或者不可用!");
    		}
    	}
    	
    	/**
    	 * 获取手机SDCard剩余容量
    	 * @return
    	 */
    	public long getSDCardFreeCapacity(){
    		if(this.isSDCardUse()){
    			// /mnt/sdcard
    			File root=Environment.getExternalStorageDirectory();
    			//根据SDCard的路径得到状态文件系统对象
    			StatFs statFs=new StatFs(root.getAbsolutePath());
    			
    			//得到每一块数据的大小,以字节为单位
    			int blockSize=statFs.getBlockSize();
    			
    			//得到当前手机SDCard可用容量的SDCard块数
    			int freeBlocks=statFs.getFreeBlocks();
    			
    			
    			//return freeBlocks*blockSize;//默认以字节为单位
    			return freeBlocks*blockSize/1024/1024/1024;//默认以字节为单位,换算成MB
    			
    		}else{
    			throw new RuntimeException("当前手机SDCard不存在或者不可用!");
    		}
    	}
    }
    

      

  • 相关阅读:
    织梦DedeCms调用全站相关文章方法
    利用dedecms autoindex让文章列表加上序列号
    织梦技巧之---织梦dedecms后台验证码错误的解决方法
    在织梦后台全站更新是出现“DedeTag Engine Create File False”错误的解决办法
    DEDECMS后台空白,dede网站栏目管理空白解决方法
    dedeCms搬家说明-官方教程绝对有够详细
    教你织梦DEDE自动更新首页的办法
    DSP using MATLAB 示例Example2.12
    DSP using MATLAB 示例Example2.11
    DSP using MATlAB 示例Example2.10
  • 原文地址:https://www.cnblogs.com/qcgAd/p/5091178.html
Copyright © 2020-2023  润新知