您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > Java_IO_操作总结
Java_IO_操作总结===========================================================================================================================1File类1.1构造方法publicFile(StringpathName)1.2创建一个新文件publicbooleancreateNewFile()throwsIOException1.3在操作文件时一定要使用File.separator表示分隔符1.4删除文件publicbooleandelete()1.5判断文件或目录是否存在publicbooleanexists()1.6创建文件夹publicbooleanmkdir()1.7列出指定目录的全部文件publicString[]list()列出全部名称publicFile[]listFiles()列出完整的路径1.8判断是否是目录publicbooleanisDirectory()1.9列出指定目录的全部内容importjava.io.File;publicclassTest{publicstaticvoidmain(Stringargs[]){Filefile=newFile(d:+File.separator+software);print(file);}publicstaticvoidprint(Filefile){if(file!=null){if(file.isDirectory()){File[]subFiles=file.listFiles();if(subFiles!=null){for(inti=0;isubFiles.length;i++){print(subFiles[i]);}}}else{System.out.println(file);}}}};===========================================================================================================================2.RandomAccessFile类2.1构造函数publicRandomAccessFile(Filefile,Stringmode)throwsFileNotFoundException2.2随机读写流可以实现对文件内容的操作,但是一般情况下操作文件内容往往会使用字节流或字符流===========================================================================================================================3.字节流与字符流基本操作3.1字节流(输入、输出)及字符流(输入、输出)字节流字符流输入InputStreamReader输出OutputStreamWriter3.2字节输出流OutputStream如果要向文件中输出内容,可以通过FileOutputStream为OutputStream进行实例化,publicFileOutputStream(Filefile)throwsFileNotFoundException,文件不存在则会自动创建如果需要实现文件内容追加,则使用publicFileOutputStream(Filefile,booleanappend)throwsFileNotFoundException进行实例化(append为true)3.2换行\r\n3.3字节输入流InputStream如果要从文件中读取内容,可以通过FileInputStream为InputStream进行实例化3.4FileInputStream读取数据importjava.io.File;importjava.io.InputStream;importjava.io.FileInputStream;publicclassInputStreamDemo05{publicstaticvoidmain(Stringargs[])throwsException{//异常抛出,不处理//第1步、使用File类找到一个文件Filef=newFile(d:+File.separator+test.txt);//声明File对象//第2步、通过子类实例化父类对象InputStreaminput=null;//准备好一个输入的对象input=newFileInputStream(f);//通过对象多态性,进行实例化//第3步、进行读操作byteb[]=newbyte[1024];//数组大小由文件决定intlen=0;inttemp=0;//接收每一个读取进来的数据while((temp=input.read())!=-1){//表示还有内容,文件没有读完b[len]=(byte)temp;len++;}//第4步、关闭输出流input.close();//关闭输出流System.out.println(内容为:+newString(b,0,len));//把byte数组变为字符串输出}};3.5字符输出流Writer如果要向文件中输出内容,可以通过FileWriter为Writer进行实例化不追加内容publicFileWriter(Filefile)throwsIOException追加内容publicFileWriter(Filefile,booleanappend)throwsIOException写入内容publicvoidwrite(Stringstr)throwsIOException3.6字符输入流Reader如果要从文件中读取内容,可以通过FileReader为Reader进行实例化3.7字节流与字符流的区别字节流在操作时本身不会用到缓冲区,而字符流在操作时使用了缓冲区3.8所有的文件在硬盘或在传输时都是以字节的方式进行的,包括图片等都是按字节的方式存储的,而字符是只有在内存中才会形成,所以在开发中,字节流使用较为广泛。3.9复制文件importjava.io.File;importjava.io.InputStream;importjava.io.FileInputStream;importjava.io.OutputStream;importjava.io.FileOutputStream;importjava.io.FileNotFoundException;importjava.io.IOException;publicclassCopy{publicstaticvoidmain(Stringargs[]){if(args.length!=2){//判断是否是两个参数System.out.println(输入的参数不正确。);System.out.println(例:javaCopy源文件路径目标文件路径);System.exit(1);//系统退出}Filef1=newFile(args[0]);//源文件的File对象Filef2=newFile(args[1]);//目标文件的File对象if(!f1.exists()){System.out.println(源文件不存在!);System.exit(1);}InputStreaminput=null;//准备好输入流对象,读取源文件OutputStreamout=null;//准备好输出流对象,写入目标文件try{input=newFileInputStream(f1);}catch(FileNotFoundExceptione){e.printStackTrace();}try{out=newFileOutputStream(f2);}catch(FileNotFoundExceptione){e.printStackTrace();}if(input!=null&&out!=null){//判断输入或输出是否准备好inttemp=0;try{while((temp=input.read())!=-1){//开始拷贝out.write(temp);//边读边写}System.out.println(拷贝完成!);}catch(IOExceptione){e.printStackTrace();System.out.println(拷贝失败!);}try{input.close();//关闭out.close();//关闭}catch(IOExceptione){e.printStackTrace();}}}}===========================================================================================================================4.转换流4.1OutputStreamWriterimportjava.io.File;importjava.io.FileOutputStream;importjava.io.Writer;importjava.io.OutputStreamWriter;publicclassOutputStreamWriterDemo01{publicstaticvoidmain(Stringargs[])throwsException{//所有异常抛出Filef=newFile(d:+File.separator+test.txt);Writerout=null;//字符输出流out=newOutputStreamWriter(newFileOutputStream(f));//字节流变为字符流out.write(helloworld!!);//使用字符流输出out.close();}};4.2InputStreamReaderimportjava.io.File;importjava.io.FileInputStream;importjava.io.Reader;importjava.io.InputStreamReader;publicclassInputStreamReaderDemo01{publicstaticvoidmain(Stringargs[])throwsException{Filef=newFile(d:+File.separator+test.txt);Readerreader=null;reader=newInputStreamReader(newFileInputStream(f));//将字节流变为字符流charc[]=newchar[1024];intlen=reader.read(c);//读取reader.close();//关闭System.out.println(newString(c,0,len));}};===========================================================================================================================5.内存操作流5.1ByteArrayInputStream构造方法publicByteArrayInputStream(byte[]buf),使用构造方法将全部的内容读取到内存中5.2ByteArrayOutputStream:publicByteArrayOutputStream()将内存中的数据输出5.3使用内存操作流完成字母大小写转换的功能importjava.io.ByteArrayInputStream;importjava.io.ByteArrayOutputStream;publicclassByteArrayDemo{publicstaticvoidma
本文标题:Java_IO_操作总结
链接地址:https://www.777doc.com/doc-6182562 .html