首页 文章资讯内容详情

Java文件操作大全

2026-06-01 5 花语

本文内容纲要:

//1.创建文件夹 //importjava.io.*; FilemyFolderPath=newFile(str1); try{ if(!myFolderPath.exists()){ myFolderPath.mkdir(); } } catch(Exceptione){ System.out.println("新建目录操作出错"); e.printStackTrace(); } //2.创建文件 //importjava.io.*; FilemyFilePath=newFile(str1); try{ if(!myFilePath.exists()){ myFilePath.createNewFile(); } FileWriterresultFile=newFileWriter(myFilePath); PrintWritermyFile=newPrintWriter(resultFile); myFile.println(str2); resultFile.close(); } catch(Exceptione){ System.out.println("新建文件操作出错"); e.printStackTrace(); } //3.删除文件 //importjava.io.*; FilemyDelFile=newFile(str1); try{ myDelFile.delete(); } catch(Exceptione){ System.out.println("删除文件操作出错"); e.printStackTrace(); } //4.删除文件夹 //importjava.io.*; FiledelFolderPath=newFile(str1); try{ delFolderPath.delete();//删除空文件夹 } catch(Exceptione){ System.out.println("删除文件夹操作出错"); e.printStackTrace(); } //5.删除一个文件下夹所有的文件夹 //importjava.io.*; Filedelfile=newFile(str1); File[]files=delfile.listFiles(); for(inti=0;i<files.length;i++){ if(files[i].isDirectory()){ files[i].delete(); } } //6.清空文件夹 //importjava.io.*; Filedelfilefolder=newFile(str1); try{ if(!delfilefolder.exists()){ delfilefolder.delete(); } delfilefolder.mkdir(); } catch(Exceptione){ System.out.println("清空目录操作出错"); e.printStackTrace(); } //7.读取文件 //importjava.io.*; //逐行读取数据 FileReaderfr=newFileReader(str1); BufferedReaderbr=newBufferedReader(fr); Stringstr2=br.readLine(); while(str2!=null){ str3 str2=br.readLine(); } br.close(); fr.close(); //8.写入文件 //importjava.io.*; //将数据写入文件 try{ FileWriterfw=newFileWriter(str1); fw.write(str2); fw.flush(); fw.close(); }catch(IOExceptione){ e.printStackTrace(); } //9.写入随机文件 //importjava.io.*; try{ RandomAcessFilelogFile=newRandomAcessFile(str1,"rw"); longlg=logFile.length(); logFile.seek(str2); logFile.writeByte(str3); }catch(IOExceptionioe){ System.out.println("无法写入文件:"+ioe.getMessage()); } //10.读取文件属性 //importjava.io.*; //文件属性的取得 Filef=newFile(str1); if(af.exists()){ System.out.println(f.getName()+"的属性如下:文件长度为:"+f.length()); System.out.println(f.isFile()?"是文件":"不是文件"); System.out.println(f.isDirectory()?"是目录":"不是目录"); System.out.println(f.canRead()?"可读取":"不"); System.out.println(f.canWrite()?"是隐藏文件":""); System.out.println("文件夹的最后修改日期为:"+newDate(f.lastModified())); }else{ System.out.println(f.getName()+"的属性如下:"); System.out.println(f.isFile()?"是文件":"不是文件"); System.out.println(f.isDirectory()?"是目录":"不是目录"); System.out.println(f.canRead()?"可读取":"不"); System.out.println(f.canWrite()?"是隐藏文件":""); System.out.println("文件的最后修改日期为:"+newDate(f.lastModified())); } if(f.canRead()){ str2 } if(f.canWrite()){ str3 } //11.写入属性 //importjava.io.*; Filefilereadonly=newFile(str1); try{ booleanb=filereadonly.setReadOnly(); } catch(Exceptione){ System.out.println("拒绝写访问:"+e.printStackTrace()); } //12.枚举一个文件夹中的所有文件 //importjava.io.*; //importjava.util.*; LinkedList<String>folderList=newLinkedList<String>(); folderList.add(str1); while(folderList.size()>0){ Filefile=newFile(folderList.peek()); folderList.removeLast(); File[]files=file.listFiles(); ArrayList<File>fileList=newArrayList<File>(); for(inti=0;i<files.length;i++){ if(files[i].isDirectory()){ folderList.add(files[i].getPath()); }else{ fileList.add(files[i]); } } for(Filef:fileList){ str2=f.getAbsoluteFile(); str3 } } //13.复制文件夹 //importjava.io.*; //importjava.util.*; LinkedList<String>folderList=newLinkedList<String>(); folderList.add(str1); LinkedList<String>folderList2=newLinkedList<String>(); folderList2.add(str2+str1.substring(str1.lastIndexOf("\\"))); while(folderList.size()>0){ (newFile(folderList2.peek())).mkdirs();//如果文件夹不存在则建立新文件夹 Filefolders=newFile(folderList.peek()); String[]file=folders.list(); Filetemp=null; try{ for(inti=0;i<file.length;i++){ if(folderList.peek().endsWith(File.separator)){ temp=newFile(folderList.peek()+File.separator +file[i]); }else{ temp=newFile(folderList.peek()+File.separator+file[i]); } if(temp.isFile()){ FileInputStreaminput=newFileInputStream(temp); FileOutputStreamoutput=newFileOutputStream( folderList2.peek()+File.separator+(temp.getName()).toString()); byte[]b=newbyte[5120]; intlen; while((len=input.read(b))!=-1){ output.write(b,0,len); } output.flush(); output.close(); input.close(); } if(temp.isDirectory()){//如果是子文件夹 for(Filef:temp.listFiles()){ if(f.isDirectory()){ folderList.add(f.getPath()); folderList2.add(folderList2.peek() +File.separator+f.getName()); } } } } }catch(Exceptione){ //System.out.println("复制整个文件夹内容操作出错"); e.printStackTrace(); } folderList.removeFirst(); folderList2.removeFirst(); } //14.复制一个文件夹下所有的文件夹到另一个文件夹下 //importjava.io.*; //importjava.util.*; Filecopyfolders=newFile(str1); File[]copyfoldersList=copyfolders.listFiles(); for(intk=0;k<copyfoldersList.length;k++){ if(copyfoldersList[k].isDirectory()){ ArrayList<String>folderList=newArrayList<String>(); folderList.add(copyfoldersList[k].getPath()); ArrayList<String>folderList2=newArrayList<String>(); folderList2.add(str2+"/"+copyfoldersList[k].getName()); for(intj=0;j<folderList.length;j++){ (newFile(folderList2.get(j))).mkdirs();//如果文件夹不存在则建立新文件夹 Filefolders=newFile(folderList.get(j)); String[]file=folders.list(); Filetemp=null; try{ for(inti=0;i<file.length;i++){ if(folderList.get(j).endsWith(File.separator)){ temp=newFile(folderList.get(j)+"/"+file[i]); }else{ temp=newFile(folderList.get(j)+"/"+File.separator+file[i]); } FileInputStreaminput=newFileInputStream(temp); if(temp.isFile()){ FileInputStreaminput=newFileInputStream(temp); FileOutputStreamoutput=newFileOutputStream(folderList2.get(j)+"/"+(temp.getName()).toString()); byte[]b=newbyte[5120]; intlen; while((len=input.read(b))!=-1){ output.write(b,0,len); } output.flush(); output.close(); input.close(); } if(temp.isDirectory()){//如果是子文件夹 folderList.add(folderList.get(j)+"/"+file[i]); folderList2.add(folderList2.get(j)+"/"+file[i]); } } } catch(Exceptione){ System.out.println("复制整个文件夹内容操作出错"); e.printStackTrace(); } } } } //15.移动文件夹 //importjava.io.*; //importjava.util.*; LinkedList<String>folderList=newLinkedList<String>(); folderList.add(str1); LinkedList<String>folderList2=newLinkedList<String>(); folderList2.add(str2+str1.substring(str1.lastIndexOf("\\"))); while(folderList.size()>0){ (newFile(folderList2.peek())).mkdirs();//如果文件夹不存在则建立新文件夹 Filefolders=newFile(folderList.peek()); String[]file=folders.list(); Filetemp=null; try{ for(inti=0;i<file.length;i++){ if(folderList.peek().endsWith(File.separator)){ temp=newFile(folderList.peek()+File.separator+file[i]); }else{ temp=newFile(folderList.peek()+File.separator+file[i]); } if(temp.isFile()){ FileInputStreaminput=newFileInputStream(temp); FileOutputStreamoutput=newFileOutputStream( folderList2.peek()+File.separator+(temp.getName()).toString()); byte[]b=newbyte[5120]; intlen; while((len=input.read(b))!=-1){ output.write(b,0,len); } output.flush(); output.close(); input.close(); if(!temp.delete()) System.out.println("删除单个文件操作出错!"); } if(temp.isDirectory()){//如果是子文件夹 for(Filef:temp.listFiles()){ if(f.isDirectory()){ folderList.add(f.getPath()); folderList2.add(folderList2.peek()+File.separator+f.getName()); } } } } }catch(Exceptione){ //System.out.println("复制整个文件夹内容操作出错"); e.printStackTrace(); } folderList.removeFirst(); folderList2.removeFirst(); } Filef=newFile(str1); if(!f.delete()){ for(Filefile:f.listFiles()){ if(file.list().length==0){ System.out.println(file.getPath()); file.delete(); } } } //16.移动一个文件夹下所有的文件夹到另一个目录下 //importjava.io.*; //importjava.util.*; Filemovefolders=newFile(str1); File[]movefoldersList=movefolders.listFiles(); for(intk=0;k<movefoldersList.length;k++){ if(movefoldersList[k].isDirectory()){ ArrayList<String>folderList=newArrayList<String>(); folderList.add(movefoldersList[k].getPath()); ArrayList<String>folderList2=newArrayList<String>(); folderList2.add(str2+"/"+movefoldersList[k].getName()); for(intj=0;j<folderList.length;j++){ (newFile(folderList2.get(j))).mkdirs();//如果文件夹不存在则建立新文件夹 Filefolders=newFile(folderList.get(j)); String[]file=folders.list(); Filetemp=null; try{ for(inti=0;i<file.length;i++){ if(folderList.get(j).endsWith(File.separator)){ temp=newFile(folderList.get(j)+"/"+file[i]); } else{ temp=newFile(folderList.get(j)+"/"+File.separator+file[i]); } FileInputStreaminput=newFileInputStream(temp); if(temp.isFile()){ FileInputStreaminput=newFileInputStream(temp); FileOutputStreamoutput=newFileOutputStream(folderList2.get(j)+"/"+(temp.getName()).toString()); byte[]b=newbyte[5120]; intlen; while((len=input.read(b))!=-1){ output.write(b,0,len); } output.flush(); output.close(); input.close(); temp.delete(); } if(temp.isDirectory()){//如果是子文件夹 folderList.add(folderList.get(j)+"/"+file[i]); folderList2.add(folderList2.get(j)+"/"+file[i]); } } } catch(Exceptione){ System.out.println("复制整个文件夹内容操作出错"); e.printStackTrace(); } } movefoldersList[k].delete(); } } //17.以一个文件夹的框架在另一个目录创建文件夹和空文件 //importjava.io.*; //importjava.util.*; booleanb=false;//不创建空文件 ArrayList<String>folderList=newArrayList<String>(); folderList.add(str1); ArrayList<String>folderList2=newArrayList<String>(); folderList2.add(str2); for(intj=0;j<folderList.length;j++){ (newFile(folderList2.get(j))).mkdirs();//如果文件夹不存在则建立新文件夹 Filefolders=newFile(folderList.get(j)); String[]file=folders.list(); Filetemp=null; try{ for(inti=0;i<file.length;i++){ if(folderList.get(j).endsWith(File.separator)){ temp=newFile(folderList.get(j)+"/"+file[i]); } else{ temp=newFile(folderList.get(j)+"/"+File.separator+file[i]); } FileInputStreaminput=newFileInputStream(temp); if(temp.isFile()){ if(b)temp.createNewFile(); } if(temp.isDirectory()){//如果是子文件夹 folderList.add(folderList.get(j)+"/"+file[i]); folderList2.add(folderList2.get(j)+"/"+file[i]); } } } catch(Exceptione){ System.out.println("复制整个文件夹内容操作出错"); e.printStackTrace(); } } //18.复制文件 //importjava.io.*; intbytesum=0; intbyteread=0; Fileoldfile=newFile(str1); try{ if(oldfile.exists()){//文件存在时 FileInputStreaminStream=newFileInputStream(oldfile);//读入原文件 FileOutputStreamfs=newFileOutputStream(newFile(str2,oldfile.getName())); byte[]buffer=newbyte[5120]; intlength; while((byteread=inStream.read(buffer))!=-1){ bytesum+=byteread;//字节数文件大小 System.out.println(bytesum); fs.write(buffer,0,byteread); } inStream.close(); } } catch(Exceptione){ System.out.println("复制单个文件操作出错"); e.printStackTrace(); } //19.复制一个文件夹下所有的文件到另一个目录 //importjava.io.*; Filecopyfiles=newFile(str1); File[]files=copyfiles.listFiles(); for(inti=0;i<files.length;i++){ if(!files[i].isDirectory()){ intbytesum=0; intbyteread=0; try{ InputStreaminStream=newFileInputStream(files[i]);//读入原文件 FileOutputStreamfs=newFileOutputStream(newFile(str2,files[i].getName()); byte[]buffer=newbyte[5120]; intlength; while((byteread=inStream.read(buffer))!=-1){ bytesum+=byteread;//字节数文件大小 System.out.println(bytesum); fs.write(buffer,0,byteread); } inStream.close(); }catch(Exceptione){ System.out.println("复制单个文件操作出错"); e.printStackTrace(); } } } //提取扩展名 Stringstr2=str1.substring(str1.lastIndexOf(".")+1);

本文内容总结:

原文链接:https://www.cnblogs.com/JonaLin/p/11016622.html