题目
设计文件工具包
1、设计创建文件夹方法,入参为路径和文件夹名称,返回值为文件夹全路径
2、设计判断是否为文件夹方法,入参为路径,返回值为是否为文件夹
3、设计查询文件夹下所有文件方法,入参为路径,返回值为所有文件的集合(文件夹中有文件和文件夹)
4、设计查询文件夹下所有文件方法,入参为路径、扩展名,返回值为相同类型文件的集合
5、设计文件拷贝方法,入参为被拷贝文件、拷贝到的文件路径,返回值判断对应路径下是否存在该文件
6、设计文件拷贝方法,入参为被拷贝文件、拷贝到的文件路径、拷贝后的文件名,返回值判断对应路径下是否存在该文件
7、设计文件删除方法,入参为被删除文件路径,返回值为是否删除成果
编写测试类,测试相关功能
解答
package FILEUtils; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileReader; import java.io.IOException; import java.util.ArrayList; /** * 文件工具包 * @author Administrator * */ public class FileUtils { /** * 创建文件夹方法 * @param path * @param folder * @return * @throws IOException */ public String CreateFile(String path,String folder) throws IOException { String s=""; s=path+"\\"+folder; File n=new File(s); n.mkdir(); System.out.println("创建文件夹成功"); return s; } /** * 判断是否为文件夹 * @param path * @return */ public String IFISFile(String path) { String s=""; File f=new File(path); if(f.isFile()){ s=path+"是文件"; }else { s=path+"不是文件"; } return s; } /** * 依据后缀名查看文件 * @param path * @param extra * @return */ public ArrayList<File> FINDByextra(String path,String extra) { ArrayList<File> list=new ArrayList<File>(); File f=new File(path); File[] files=f.listFiles(); for(File single:files) { if(single.getName().indexOf("."+extra)!=-1) { list.add(single); } } return list; } /** * 文件拷贝1 * @param FromFilePath * @param ToPath * @return * @throws IOException */ public boolean copy(String FromFilePath,String ToPath) throws IOException { boolean isok=true; File f=new File(FromFilePath); FileInputStream fis=new FileInputStream(FromFilePath); BufferedInputStream bis=new BufferedInputStream(fis,1024); int i=0; String str=""; while((i=fis.read())!=-1){ str+=(char)i; } FileOutputStream fos=new FileOutputStream(ToPath); BufferedOutputStream bos=new BufferedOutputStream(fos,1024); fos.write(str.getBytes()); f=new File(ToPath); isok=f.exists(); bos.close(); fos.close(); bis.close(); fis.close(); return isok; } /** * 文件拷贝2 * @param FromFilePath * @param ToPath * @param ToFilename * @return * @throws IOException */ public boolean copy(String FromFilePath,String ToPath,String ToFilename) throws IOException { boolean isok=true; File f=new File(FromFilePath); FileInputStream fis=new FileInputStream(FromFilePath); BufferedInputStream bis=new BufferedInputStream(fis,1024); int i=0; String str=""; while((i=bis.read())!=-1){ str+=(char)i; } FileOutputStream fos=new FileOutputStream(ToPath+"\\"+ToFilename); BufferedOutputStream bos=new BufferedOutputStream(fos,1024); bos.write(str.getBytes()); f=new File(ToPath+"\\"+ToFilename); isok=f.exists(); bos.close(); fos.close(); bis.close(); fis.close(); return isok; } public boolean DELETEFile(String path) { boolean isok=true; File f=new File(path); isok=f.delete(); return isok; } //测试类 public static void main(String[] args) throws IOException { FileUtils f=new FileUtils(); System.out.println(f.CreateFile("D:\\\\IOTest", "new1")); System.out.println(f.IFISFile("D:\\IOTest")); System.out.println(f.IFISFile("D:\\1.txt")); System.out.println(f.FINDByextra("D:\\","txt")); System.out.println("路径下是否存在拷贝1后的文件:"+f.copy("D:\\1.txt","D:\\13.txt")); System.out.println("路径下是否存在拷贝2后的文件:"+f.copy("D:\\1.txt","D:\\","12.txt")); System.out.println("文件是否删除:"+f.DELETEFile("D:\\1.txt")); } }