• Android:创建文件或文件夹以及获取sd卡根目录


      目录结构:

    功能,可以根据录入的目录或者文件夹生成相应的文件或者文件夹

    首先需要添加一个权限:

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

    MainActivity.java:

    package com.wyl.xml;
    
    import com.wyl.download.FileUtils;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.Toast;
    
    public class MainActivity extends Activity {
    	Button btn;
    	Button btn2;
    	EditText tv;
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
    		btn = (Button) findViewById(R.id.btn01);
    		btn2 = (Button) findViewById(R.id.createFile);
    		tv =  (EditText) findViewById(R.id.tv01);
    	}
    
    	public void doOnclick(View view) {
    		FileUtils util = new FileUtils();
    		switch (view.getId()) {
    		// 获取根目录
    		case R.id.btn01:
    			btn.setText(util.getSDCardPath());
    			break;
    
    		// 创建文件夹或者文件
    		case R.id.createFile:
    			String fileName = tv.getText().toString();
    			util.createFile(fileName);
    			myToast("创建文件或文件夹"+fileName+"成功", 200);
    			break;
    		}
    	}
    	/**
    	 * 封装系统提供的toast
    	 * @param msg	提示的内容
    	 * @param time	点击后提示弹出来的间隔时间,单位为毫秒
    	 */
    	public void myToast(String msg,int time){
    		Toast.makeText(this, msg, time).show();
    	}
    }
    

      工具类:

    FileUtils.java:

    package com.wyl.download;
    
    import java.io.File;
    import java.io.IOException;
    
    import android.os.Environment;
    
    public class FileUtils {
    	private static String SDPATH = "";
    
    	/**
    	 * 获取到sd卡的根目录,并以String形式返回
    	 * 
    	 * @return
    	 */
    	public static String getSDCardPath() {
    		SDPATH = Environment.getExternalStorageDirectory() + "/";
    		return SDPATH;
    	}
    
    	/**
    	 * 创建文件或文件夹
    	 * 
    	 * @param fileName
    	 *            文件名或问文件夹名
    	 */
    	public void createFile(String fileName) {
    		File file = new File(getSDCardPath() + fileName);
    		if (fileName.indexOf(".") != -1) {
    			// 说明包含,即使创建文件, 返回值为-1就说明不包含.,即使文件
    			try {
    				file.createNewFile();
    			} catch (IOException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    			System.out.println("创建了文件");
    		} else {
    			// 创建文件夹
    			file.mkdir();
    			System.out.println("创建了文件夹");
    		}
    
    	}
    }
    

      布局文件:

    activity_main.xml:

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context="com.wyl.xml.MainActivity"
        tools:ignore="MergeRootFrame" >
        <Button 
            android:id="@+id/btn01"
            android:onClick="doOnclick"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="获取根目录"
            />
        <EditText 
            android:layout_below="@id/btn01"
            android:id="@+id/tv01"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:hint="要创建的文件或文件夹的名称,需要加后缀"
            />
        <Button 
            android:layout_below="@id/tv01"
            android:id="@+id/createFile"
            android:onClick="doOnclick"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="创建文件"
            />
    </RelativeLayout>
    

      

      

  • 相关阅读:
    C#学习之自定义类实现foreach
    C#学习之用迭代器实现枚举器
    silverlight学习之获取照片的路径
    Java语言基础基本数据类型与运算符
    Java语言基础数组
    Asp.Net 学习资源列表
    测试第一篇BLOG文,高亮代码
    当屌丝想看《蜀山剑侠传》[python屏幕抓取]
    jQuery数据显示插件整合
    腾讯面试题:50个阶梯,你一次可以上一阶或两阶,走上去,共有多少种走法【原】
  • 原文地址:https://www.cnblogs.com/Sunnor/p/4762457.html
Copyright © 2020-2023  润新知