Java 文件操作的学习(不断更新中)

1、删除文件:

  File deletefile = new File(fullfilepath);
  //判断物理文件是否存在 是否是文件
  if (deletefile.exists() && deletefile.isFile()) {
  Long filespace = deletefile.length();//获取该文件大小
  deletefile.delete();
  }

2、修改文件名

 //检查要重命名的文件是否存在 是否是文件
 File oldFile = new File("D://file.mp4");
 File newfile = new File("D://filenew.mp4");
 if (oldFile.exists()&&oldFile.isFile()) {
     if(!newfile.exists()){
         oldFile.renameTo(newfile);
     }
 }

3、windows不支持的特殊字符

String fileName = "<>123*.mp4";
char[] specialArray=new char[]{'\\','/','?',':','"','<','>','|','*'};
for( int num=0; numchar specialcharacter = specialArray[num];
if( fileName.indexOf( specialcharacter ) >= 0 ){
    //表示名称中含有特殊字符
    System.out.println("这是特殊字符:"+specialcharacter );                                    
}

4、以文件流的形式复制文件(这种方法在实现大文件的复制的时候效率比较低)

public void copyFile(String src,String dest) throws IOException{
        FileInputStream in=new FileInputStream(src);
        File file=new File(dest);
        if(!file.exists())
            file.createNewFile();//创建新文件 file.mkdir()为创建目录
        FileOutputStream out=new FileOutputStream(file);
        int c;
        byte buffer[]=new byte[1024];
        while((c=in.read(buffer))!=-1)...{
            for(int i=0;iout.write(buffer[i]);        
        }
        in.close();
        out.close();
    }

5、java7中的文件复制 和删除(较于4中的文件复制和1中的文件删除效率更高,代码更简洁)–20170411更新

String srcStrFile  =strPath + "\\" + arrayFileName;//源路径
String dstStrFile = strTempPath + "\\" + arrayFileName;//目标路径
File srcfile = new File(srcStrFile);
File dstfile = new File(dstStrFile);
Files.copy(srcfile.toPath(),dstfile.toPath());
if( srcfile.exists() &&srcfile.isFile()){
    //拷贝完成后,删除源文件
    Files.delete(srcfile.toPath());
}

6、验证目录下文件分片是否完整

boolean uploadDone = true;
for (int i = 0; i < chunks; i++) {
    File partFile = new File(parentFileDir, fileName + "_" + i+ ".part");
    if (!partFile.exists()) {
        uploadDone = false;//缺少文件分片
    }
}
 由于现在的工作中使用文件相关的操作会比较多,所以我会在自己的学习和使用的过程中,不断更新对于文件相关操作的常用代码片段。

你可能感兴趣的:(Java)