javaIO操作.docx
- 文档编号:15296751
- 上传时间:2023-07-03
- 格式:DOCX
- 页数:22
- 大小:20.33KB
javaIO操作.docx
《javaIO操作.docx》由会员分享,可在线阅读,更多相关《javaIO操作.docx(22页珍藏版)》请在冰点文库上搜索。
javaIO操作
建立文件路径
Stringpath=File.separator+"a"+File.separator+"b";
在文件路径和Url之间进行转换
Filefile=newFile("filename");
URLurl=null;
try{
url=file.toURL();
}catch(MalformedURLExceptione){
}
file=newFile(url.getFile());
try{
InputStreamis=url.openStream();
is.close();
}catch(IOExceptione){
e.printStackTrace();
}
从相对文件路径取得绝对文件路径(GettinganAbsoluteFilenamePathfromaRelativeFilenamePath)
Filefile=newFile("filename.txt");
file=file.getAbsoluteFile();//c:
\temp\filename.txt
file=newFile("dir"+File.separatorChar+"filename.txt");
file=file.getAbsoluteFile();//c:
\temp\dir\filename.txt
file=newFile(".."+File.separatorChar+"filename.txt");
file=file.getAbsoluteFile();//c:
\temp\..\filename.txt
//Notethatfilename.txtdoesnotneedtoexist
判断是否两个文件路径是否指向同一个文件(DeterminingIfTwoFilenamePathsRefertotheSameFile)
Filefile1=newFile("./filename");
Filefile2=newFile("filename");
//Filenamepathsarenotequal
booleanb=file1.equals(file2);//false
//Normalizethepaths
try{
file1=file1.getCanonicalFile();//c:
\almanac1.4\filename
file2=file2.getCanonicalFile();//c:
\almanac1.4\filename
}catch(IOExceptione){
}
//Filenamepathsarenowequal
b=file1.equals(file2);//true
得到文件所在的文件夹名(GettingtheParentsofaFilenamePath)
//Gettheparentofarelativefilenamepath
Filefile=newFile("Ex1.java");
StringparentPath=file.getParent();//null
FileparentDir=file.getParentFile();//null
//Gettheparentsofanabsolutefilenamepath
file=newFile("D:
\almanac\Ex1.java");
parentPath=file.getParent();//D:
\almanac
parentDir=file.getParentFile();//D:
\almanac
parentPath=parentDir.getParent();//D:
\
parentDir=parentDir.getParentFile();//D:
\
parentPath=parentDir.getParent();//null
parentDir=parentDir.getParentFile();//null
判断路径指向的是文件还是目录(DeterminingIfaFilenamePathIsaFileoraDirectory)
Filedir=newFile("directoryName");
booleanisDir=dir.isDirectory();
if(isDir){
//dirisadirectory
}else{
//dirisafile
}
判断文件或者路径是否存在(DeterminingIfaFileorDirectoryExists)
注释:
"/filename"用myeclipse生成在对应的盘符根路径下,也可以这样指定"d:
/filename"
"filename"生成对应的工程根路径
booleanexists=(newFile("filename")).exists();
if(exists){
//Fileordirectoryexists
}else{
//Fileordirectorydoesnotexist
}
创建文件(CreatingaFile)
try{
Filefile=newFile("filename");
//Createfileifitdoesnotexist
booleansuccess=file.createNewFile();
if(success){
}else{
}
}catch(IOExceptione){
}
得到文件的大小(GettingtheSizeofaFile)
Filefile=newFile("infilename");
longlength=file.length();
删除文件(DeletingaFile)
booleansuccess=(newFile("filename")).delete();
if(!
success){
//Deletionfailed
}
创建临时文件(CreatingaTemporaryFile)
try{
//Createtempfile.
Filetemp=File.createTempFile("pattern",".suffix");
//Deletetempfilewhenprogramexits.
temp.deleteOnExit();
//Writetotempfile
BufferedWriterout=newBufferedWriter(newFileWriter(temp));
out.write("aString");
out.close();
}catch(IOExceptione){
}
重命名一个文件或目录(RenamingaFileorDirectory)
//File(ordirectory)witholdname
Filefile=newFile("oldname");
//File(ordirectory)withnewname
Filefile2=newFile("newname");
//Renamefile(ordirectory)
booleansuccess=file.renameTo(file2);
if(!
success){
//Filewasnotsuccessfullyrenamed
}
移动文件或者目录(MovingaFileorDirectorytoAnotherDirectory)
//File(ordirectory)tobemoved
Filefile=newFile("filename");
//Destinationdirectory
Filedir=newFile("directoryname");
//Movefiletonewdirectory
booleansuccess=file.renameTo(newFile(dir,file.getName()));
if(!
success){
//Filewasnotsuccessfullymoved
}
取得和修改文件或目录的修改时间(GettingandSettingtheModificationTimeofaFileorDirectory)
Thisexamplegetsthelastmodifiedtimeofafileordirectoryandthensetsittothecurrenttime.
Filefile=newFile("filename");
//Getthelastmodifiedtime
longmodifiedTime=file.lastModified();
//0Lisreturnedifthefiledoesnotexist
//Setthelastmodifiedtime
longnewModifiedTime=System.currentTimeMillis();
booleansuccess=file.setLastModified(newModifiedTime);
if(!
success){
//operationfailed.
}
强制更新硬盘上的文件(ForcingUpdatestoaFiletotheDisk)
Insomeapplications,suchastransactionprocessing,itisnecessarytoensurethatanupdatehasbeenmadetothedisk.FileDescriptor.sync()blocksuntilallchangestoafilearewrittentodisk.
try{
//Openorcreatetheoutputfile
FileOutputStreamos=newFileOutputStream("outfilename");
FileDescriptorfd=os.getFD();
//Writesomedatatothestream
byte[]data=newbyte[]{(byte)0xCA,(byte)0xFE,(byte)0xBA,(byte)0xBE};
os.write(data);
//Flushthedatafromthestreamsandwritersintosystembuffers.
//Thedatamayormaynotbewrittentodisk.
os.flush();
//Blockuntilthesystembuffershavebeenwrittentodisk.
//Afterthismethodreturns,thedataisguaranteedtohave
//beenwrittentodisk.
fd.sync();
}catch(IOExceptione){
}
得到当前的工作目录(GettingtheCurrentWorkingDirectory)
Theworkingdirectoryisthelocationinthefilesystemfromwherethejavacommandwasinvoked.
StringcurDir=System.getProperty("user.dir");
创建目录(CreatingaDirectory)
//Createadirectory;allancestordirectoriesmustexist
booleansuccess=(newFile("directoryName")).mkdir();
if(!
success){
//Directorycreationfailed
}
//Createadirectory;allnon-existentancestordirectoriesare
//automaticallycreated
success=(newFile("directoryName")).mkdirs();
if(!
success){
//Directorycreationfailed
}
删除目录(DeletingaDirectory)
//Deleteanemptydirectory
booleansuccess=(newFile("directoryName")).delete();
if(!
success){
//Deletionfailed
}
Ifthedirectoryisnotempty,itisnecessarytofirstrecursivelydeleteallfilesandsubdirectoriesinthedirectory.Hereisamethodthatwilldeleteanon-emptydirectory.
//Deletesallfilesandsubdirectoriesunderdir.
//Returnstrueifalldeletionsweresuccessful.
//Ifadeletionfails,themethodstopsattemptingtodeleteandreturnsfalse.
publicstaticbooleandeleteDir(Filedir){
if(dir.isDirectory()){
String[]children=dir.list();
for(inti=0;i booleansuccess=deleteDir(newFile(dir,children[i])); if(! success){ returnfalse; } } } //Thedirectoryisnowemptysodeleteit returndir.delete(); } 列举文件夹中的文件和子目录(ListingtheFilesorSubdirectoriesinaDirectory) Thisexampleliststhefilesandsubdirectoriesinadirectory.Tolistalldescendantfilesandsubdirectoriesunderadirectory,seee33TraversingtheFilesandDirectoriesUnderaDirectory. Filedir=newFile("directoryName"); String[]children=dir.list(); if(children==null){ //Eitherdirdoesnotexistorisnotadirectory }else{ for(inti=0;i //Getfilenameoffileordirectory Stringfilename=children[i]; } } //Itisalsopossibletofilterthelistofreturnedfiles. //Thisexampledoesnotreturnanyfilesthatstartwith`.'. FilenameFilterfilter=newFilenameFilter(){ publicbooleanaccept(Filedir,Stringname){ return! name.startsWith("."); } }; children=dir.list(filter); //ThelistoffilescanalsoberetrievedasFileobjects File[]files=dir.listFiles(); //Thisfilteronlyreturnsdirectories FileFilterfileFilter=newFileFilter(){ publicbooleanaccept(Filefile){ returnfile.isDirectory(); } }; files=dir.listFiles(fileFilter); 列举系统根目录下的文件(ListingtheFileSystemRoots) UNIXfilesystemshaveasingleroot,`/'.OnWindows,eachdriveisaroot.ForexampletheCdriveisrepresentedbytherootC: \. File[]roots=File.listRoots(); for(inti=0;i process(roots[i]); } 遍历目录(TraversingtheFilesandDirectoriesUnderaDirectory) Thisexampleimplementsmethodsthatrecursivelyvisitsallfilesanddirectoriesunderadirectory. //Processallfilesanddirectoriesunderdir publicstaticvoidvisitAllDirsAndFiles(Filedir){ process(dir); if(dir.isDirectory()){ String[]children=dir.list(); for(inti=0;i visitAllDirsAndFiles(newFile(dir,children[i])); } } } //Processonlydirectoriesunderdir publicstaticvoidvisitAllDirs(Filedir){ if(dir.isDirectory()){ process(dir); String[]children=dir.list(); for(inti=0;i visitAllDirs(newFile(dir,children[i])); } } } //Processonlyfilesunderdir publicstaticvoidvisitAllFiles(Filedir){ if(dir.isDirectory()){ String[]children=dir.list(); for(inti=0;i visitAllFiles(newFile(dir,children[i])); } }else{ process(dir); } } 从控制台读入文本(ReadingTextfromStandardInput) try{ BufferedReaderin=newBufferedReader(newInputStreamReader(System.in)); Stringstr=""; while(str! =null){ System.out.print(">prompt"); str=in.readLine(); process(str); } }catch(IOExceptione){ } 从文件中读入文本(ReadingTextfromaFile) try{ BufferedReaderin=newBufferedReader(newFileReader("infilename")); Stringstr; while((str=in.readLine())! =null){ process(str); } in.close(); }catch(IOExceptione){ } 将文件内容读入一个Byte型数组(ReadingaFileintoaByteArray) Thisexampleimplementsamethodthatreadstheentirecontentsofafileintoabytearray. Seealsoe35ReadingTextfromaFile. //Returnsthecontent
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- javaIO 操作