删除文件

来源:互联网 发布:福建网络服务公司 编辑:程序博客网 时间:2024/05/20 15:57
public class MainActivity extends AppCompatActivity {
    private File file;
    private TextView tv;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //得到控件
        Button but_01 = (Button) findViewById(R.id.but_01);
        Button but_02 = (Button) findViewById(R.id.but_02);
        Button but_03 = (Button) findViewById(R.id.but_03);
        tv = (TextView) findViewById(R.id.tv);


        //点击按钮存储数据
        but_01.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                try {


                    //定义地址
                    file = new File(Environment.getExternalStorageDirectory(),"day09.txt");
                    ///创建输出流
                    FileOutputStream fos=new FileOutputStream(file);
                        //将字符串转化为字节
                        fos.write(("我是一名八维的学生,我在移动通信学院1311c班学习").getBytes());
                        fos.flush();
                        fos.close();//关闭流
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });


        //点击按钮读取数据
        but_02.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                try {
                    FileInputStream fis=new FileInputStream(file);
                    BufferedReader bos=new BufferedReader(new InputStreamReader(fis));
                    String s = bos.readLine();
                    tv.setText(s);
                    bos.close();


                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });


        but_03.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
            deleteFilesByDirectory(file);
            }
        });


    }
    //删除某个文件夹下的文件,,不删除文件夹
    private static  void deleteFilesByDirectory(File directory){
        if(directory.isDirectory())
        {
            File[] files = directory.listFiles();
            for ( File item:files) {
              deleteFilesByDirectory(item);
            }
        }else
        {
            directory.delete();
        }
    }
}