文件夹、文件的创建、删除
简单的一个文件夹和文件的创建的例子
// description: 程序先检查文件夹是否存在,如果不存在,则创建一个,存在,则继续运行.// 文件夹处理完成后,下一步工作为往文件夹中创建文件.// caution: 当前文件夹中如果已经有名为abc.txt的文件时,在当前文件夹创建一个名为abc.txt的文件会失败.// 在这个程序中,如果E:\\test 下已经有名为1,2,3,4的文件时,程序执行会失败.import java.io.*;public class Demo{ public static void main( String[] args) { File dirFile; File tempFile; boolean bFile; String sFileName; bFile = false; try { dirFile = new File("E:/test"); bFile = dirFile.exists(); if( bFile == true ) { System.out.println("The folder exists."); } else { System.out.println("The folder do not exist,now trying to create a one..."); bFile = dirFile.mkdir(); if( bFile == true ) { System.out.println("Create successfully!"); } else { System.out.println("Disable to make the folder,please check the disk is full or not."); System.exit(1); } } System.out.println("Now we put files in to the folder..."); for(int i=0; i<5; i++) { sFileName = new String("E:/test/"); sFileName += String.valueOf(i); tempFile = new File(sFileName); bFile = tempFile.createNewFile(); OutputStream fos = new BufferedOutputStream(new FileOutputStream(tempFile,false));//use buffer here fos.write("design myself!design my life!".getBytes("utf-8"));//what we write fos.close(); } }catch(IOException e) { // Exception hadler } if( bFile == true ) System.out.println("Successfully put files in to the folder!"); else System.out.println("Sorry sir,i don't finish the job!"); }}
import gxdmif.GXStringUtil; import java.io.DataOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import org.springframework.web.multipart.MultipartFile; public class SaveFile { public boolean save(String path, MultipartFile file) throws Exception { GXStringUtil gx = new GXStringUtil(); boolean result = false ; File dirFile = null ; try { dirFile = new File(path); if ( ! (dirFile.exists()) && ! (dirFile.isDirectory())) { boolean creadok = dirFile.mkdirs(); if (creadok) { System.out.println( " ok:创建文件夹成功! " ); } else { System.out.println( " err:创建文件夹失败! " ); } } } catch (Exception e) { e.printStackTrace(); System.out.println(e); return false ; } if (file != null && ! file.isEmpty()) { String fullPath = path + System.getProperty( " file.separator " ) + gx.netStringToGBK(file.getOriginalFilename()); DataOutputStream out = null ; InputStream is = null ; try { out = new DataOutputStream( new FileOutputStream(fullPath)); is = file.getInputStream(); byte [] buffer = new byte [ 1024 ]; while (is.read(buffer) > 0 ) { out.write(buffer); } } finally { if (is != null ) { is.close(); } if (out != null ) { out.close(); } } result = true ; } return result; } public boolean delete(String path, MultipartFile file) throws Exception { GXStringUtil gx = new GXStringUtil(); boolean result = false ; if (file != null && ! file.isEmpty()) { String fullPath = path + System.getProperty( " file.separator " ) + gx.netStringToGBK(file.getOriginalFilename()); try { File file2 = new File(fullPath); file2.delete(); result = true ; } catch (Exception e) { e.printStackTrace(); result = false ; } } return result; } public boolean deleteFolder(File folder) { boolean result = false ; try { String childs[] = folder.list(); if (childs == null || childs.length <= 0 ) { if (folder.delete()) { result = true ; } } else { for ( int i = 0 ; i < childs.length; i ++ ) { String childName = childs[i]; String childPath = folder.getPath() + File.separator + childName; File filePath = new File(childPath); if (filePath.exists() && filePath.isFile()) { if (filePath.delete()) { result = true ; } else { result = false ; break ; } } else if (filePath.exists() && filePath.isDirectory()) { if (deleteFolder(filePath)) { result = true ; } else { result = false ; break ; } } } } folder.delete(); } catch (Exception e) { e.printStackTrace(); result = false ; } return result; } }