




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第六章输入/输出系统,流与文件标准输入/输出流输入/输出,6.1流和文件,流:数据从计算机的输入向输出流动,即流的产生。流有两种:文本流(字符)和二进制流(字节)在JAVA里,流是一些类。文件也是一个逻辑概念。计算机的所有设备都可理解为一个文件。流可与文件建立联系。(File),外部设备,输入流,计算机内部,输出流,外部设备,6.1流和文件-常见流类,java.lang.Objectjava.io.Filejava.io.RandomAccessFilejava.io.InputStreamjava.io.OutputStreamjava.io.Readerjava.io.Writer,6.2标准输入/输出,标准输入输出属于系统类。系统类实现了用户使用资源时的系统无关编程接口:是最终类;所有变量和方法都是静态的;不用初始化(NEW)就可以使用System.inpublicfinalstaticInputStreamin=newInputStream();read(),read(byteb,intoff,intlen),read(byteb)System.outpublicfinalstaticPrintStreamout=newPrintStream();print(),println(),write()System.errpublicfinalstaticPrintStreamerr=newPrintStream();print(),println(),write(),6.2标准输入/输出(例),importjava.io.*;publicclassCountpublicstaticvoidmain(Stringargs)tryintcount=0;while(System.in.read()!=-1)count+;System.out.println(inputhas+count+chars);catch(IOExceptione)System.err.println(CaughtIOException:+e.toString();,6.3文件File,创建一个新的文件对象File(Stringpathname)FilemyFile=newFile(etc/motd);File(Stringparent,Stringchild)FilemyFile=newFile(/etc,motd);File(Fileparent,Stringchild)FilemyDir=newFile(/etc);FilemyFile=newFile(myDir,motd);,6.3文件File,File类提供的方法文件名的操作(如)publicStringgetName():返回文件对象名字符串;publicStringtoString():返回文件名字符串;publicStringgetParent():返回文件对象父路径名字符串;publicFilegetParentFile():返回文件对象父文件名;publicStringgetAbsolutePath():返回绝对路径名字符串;publicstaticFilecreateTempFile(Stringprefix,Stringsuffix,Filedirectory)throwsIOExceptionpublicstaticFilecreateNewFile()throwsIOException,6.3文件File,文件属性测试publicbooleancanRead():是否能读指定的文件;publicbooleancanWrite():是否能修改指定的文件;publicbooleanexists():指定的文件是否存在;publicbooleanisDirectory():指定的文件是否是目录;publicbooleanisFile():指定的文件是否是一般文件;publicbooleanisHidden():指定的文件是否是隐藏文件;publicbooleanisAbsolute():指定的文件是否是绝对路径;,6.3文件File,一般文件信息和工具publiclonglastModified():返回文件最后被修改的时间;publiclonglength():返回文件的字节长度;publicbooleandelete():删除指定的文件,若为目录必须为空才能删除;publicvoiddeleteOnExit():当虚拟机执行结束时,删除指定文件或目录;,6.3文件File,目录操作publicbooleanmkdir():创建指定的目录;publicbooleanmkdirs():创建指定的目录,包括任何不存在的父目录;publicStringlist():返回指定目录下的文件;publicStringlist(FilenameFilterfilter):返回指定目录下满足文件过滤器的文件;,6.3文件File,文件属性设置publicbooleansetLastModified(longtime):设置指定目录或文件的最后修改时间;publicbooleansetReadOnly():设置指定目录或文件的只读属性;,6.4字节输入流InputStream,字节输入流的方法publicabstractintread()throwsIOException;publicintread(byteb)throwsIOException;publicintread(byteb,intoff,intlen)throwsIOException;publiclongskip(longn)throwsIOException;publicintavailable()throwsIOException;publicvoidclose()throwsIOException;publicvoidmark(intreadlimit);publicvoidreset()throwsIOException;publicbooleanmarkSupported();,6.4字节输入流InputStream,java.lang.ObjectFileInputStream:读文件的流PipedInputStream:内部线程通信的输入流ByteArrayInputStream:读字节数组java.io.InputStreamSequenceInputStream:合并输入流的输入流(抽象类)StringBufferInputStream:读字符串FilterInputStream:读数据时处理数据(抽)BufferedInputStream:基本缓冲DataInputStream:原始数据类型LineNumberInputStream:支持行数字PushBackInputStream:读完允许放回AudioInputStream:输入音频数据ObjectInputStream:直接进行对象的读,6.4字节输入流InputStream,FileInputStream重写父类中方法:publicintread()throwsIOException;publicintread(byteb)throwsIOException;publicintread(byteb,intoff,intlen)throwsIOException;publiclongskip(longn)throwsIOException;publicintavailable()throwsIOException;publicvoidclose()throwsIOException;重写Object类中方法:protectedvoidfinalize()throwsIOException;自己定义方法:publicfinalFileDescriptorgetFD()throwsIOException;不支持mark(),reset();,6.4字节输入流InputStream,FileInputStream建立字节文件输入流:FileInputStreammyFileStream=newFileInputStream(”etc/motd”);FilemyFile=newFile(”etc/motd”);FileInputStreammyFileStream=newFileInputStream(myFile);关闭字节文件输入流:myFileStream.close();,6.4字节输入流InputStream,BufferedInputStream建立字节缓冲输入流:FileInputStreammyFileStream=newFileInputStream(”etc/motd”);BufferedInputStreammyBufferStream=newBufferedInputStream(myFileStream);,6.5字节输出流OutputStream,输出字节流的方法publicabstractvoidwrite(intb)throwsIOException;publicvoidwrite(byteb)throwsIOException;publicvoidwrite(byteb,intoff,intlen)throwsIOException;publicvoidflush()throwsIOException;publicvoidclose()throwsIOException;,6.5字节输出流OutputStream,java.lang.ObjectFileOutputStream:写文件的流PipedOutputStream:内部线程输出流ByteArrayOutputStream:写字节数组java.io.OutputStreamFilterOutputStream:写数据时处理(抽象类)BufferedOutputStream:基本缓冲DataOutputStream:原始数据类型PrintStream:显示文本的输出流ObjectOutputStream:直接写对象的流,6.5字节输出流OutputStream,FileOutputStream输出字节流重写父类中方法:publicabstractvoidwrite(intb)throwsIOException;publicvoidwrite(byteb)throwsIOException;publicvoidwrite(byteb,intoff,intlen)throwsIOException;publicvoidclose()throwsIOException;重写Object类中方法:protectedvoidfinalize()throwsIOException;自己定义方法:publicfinalFileDescriptorgetFD()throwsIOException;,6.5字节输出流OutputStream,FileOutputStream输出字节流建立字节文件输出流:FileOutputStreammyFileStream=newFileOutputStream(”etc/motd”);FilemyFile=newFile(”etc/motd”);FileOutputStreammyFileStream=newFileOutputStream(myFile);关闭字节文件输入流:myFileStream.close();,6.5字节输出流OutputStream-FileInputStream和FileOutputStream例,importjava.io.*;classFileStreamApppublicstaticvoidmain(StringArgs)bytebuffer=newbyte2056;tryFileInputStreamfis=newFileInputStream(einput.txt);FileOutputStreamfos=newFileOutputStream(eoutput.txt);intbytes=fis.read(buffer);fos.write(buffer,0,bytes);fis.close();fos.close();catch(Exceptione)System.err.println(e.toString();,6.8字符类输入流Reader,java.lang.ObjectPipedReaderCharArrayReaderjava.io.ReaderInputStreamReader-FileReader(抽象类)StringReaderFilteredReader-PushBackReaderBufferedReader-LineNumberReader,6.8字符类输入流Reader,InputStreamReaderir=newInputStreamReader(System.in);BufferedReaderin=newBufferedReader(ir);System.out.println(Inputis:);Strings=in.readLine();InputStreamReaderin=newInputStreamReader(newFileInputStream(input.txt);FileReaderin=newFileReader(input.txt);,6.9字符类输出流Writer,java.lang.ObjectPipedWriterCharArra
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 苏教版三年级数学上册期中综合提优卷(B)(含答案)(范围:第一单元至第四单元)
- 八年级数学上册苏科版 第2章《实数的初步认识》单元检测卷(含答案)
- 20.6 磁生电 同步练习 人教版九年级物理全一册(含答案)
- 徐州医院笔试题及答案
- 2025年哈尔滨南岗区哈西社区卫生服务中心招聘2人备考练习题库及答案解析
- 2025新疆机场集团阿勒泰管理分公司三季度招聘45人备考练习试题及答案解析
- 航空机票网络销售业务代理合同协议书范本模板
- 红酒代销合同书范本2篇
- 2025年河北衡水高新科技集团有限公司公开招聘工作人员19名备考练习题库及答案解析
- 2025江苏徐州邳州市招聘编制教师135人备考练习题库及答案解析
- 考勤培训课件
- 灭火和应急疏散预案演练制度(足浴会所)
- 中国黄金集团招聘面试经典题及答案
- GB/T 4026-2025人机界面标志标识的基本和安全规则设备端子、导体终端和导体的标识
- 青岛版科学一年级上册(新教材)1.1 吹泡泡(教学课件)(内嵌视频)
- 感染性心内膜炎术后护理查房
- 家校携手同行砥砺奋进未来高二下学期期中家长会
- 推理能力题目及答案
- (2025秋)人教版二年级数学上册全册教案(新教材)
- 医院科研奖励管理办法
- 上汽大众产品与业务培训
评论
0/150
提交评论