package com.jkk.io;
import java.io.*;
/**
 *这个类是一个使用静态方法delete()和一个删除指定文件或目录的独立程序
 *
 **/
 public class Delete{
  /**
   *独立程序的main()方法,检测其参数后
   *调用 Delete.delete() 进行删除操作
   *
   **/ /**
 *用于删除文件或目录的静态方法,由main()调用
 *也可有其它程序调用
 *删除前首先确定文件或,目录是否可删除
 *如有问题,在于抛出异常IllegalArgumentException
 **/
  public static void delete(String filename){
File f =new File(filename); //确定文件或目录是否存在,是否写保护
if (!f.exists())fail("Delete no such file or directory:"+filename);
if (!f.canWrite())fail("Delete:write protected:"+filename);
if (f.isDirectory()){
String[] files= f.list();
if (files.length>0)
fail("Delete :directory no empty:"+filename); }
//如果通过了所有测试,删除
boolean success=f.delete();
if (!success)fail("Delete:deletion failed");
  }  //抛出异常的简便方法
  protected static void fail(String msg)throws IllegalArgumentException {
  throw new IllegalArgumentException(msg);
  }
  public static void main(String[] args){
  if (args.length!=1){
  System.err.println("Usage:java Delection <file or directory>");
  System.exit(0);
  try{
  delete(args[0]);
  }
  //调用delete()显示抛出错误
  catch (IllegalArgumentException e){
  System.err.println(e.getMessage());
  }
  }
  }
 }
/**
* 这个程序在我编译后运行执行时会出现这样的问题
*Exception in thread "main" java.lang.NoClassDeFoundError:Delete(wrong name:com/jkk/io/Delete)为什么?
*/