




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
读文件(java.io)FileInputStreamFileInputStream(Stringname)通过打开一个到实际文件的连接来创建一个 FileInputStream,该文件通过文件系统中的路径名 name 指定。read(byteb)从此输入流中将最多 b.length 个字节的数据读入一个 byte 数组中。如果因为已经到达文件末尾而没有更多的数据,则返回 -1。close()关闭此文件输入流并释放与此流有关的所有系统资源。 (读完注意要关闭)写文件FileOutputStreamimport java.io.*;public class WriteFile public static void main(String args) throws Exception FileOutputStream fos=new FileOutputStream(C:Imageb.txt);/不论是否已经存在,都会清空文件,创建一个空文件String temp=ni hao;fos.write(temp.getBytes();/因为wirte里面要用byte类型fos.close();读文件import java.io.*;public class ReadFile /读文件public static void main(String args) throws ExceptionFileInputStream fis=new FileInputStream(C:Imagea.txt);byte b=new byte10;/一般使用1024String result=;while(true)int num=fis.read(b);/要读byte类型的,且如果读到末尾,会返回-1if(num=-1)break;String temp=new String(b,0,num);/若是num-5则会每10个元素只读前5个/String(byte bytes, int offset, int length)offset起始索引/通过使用平台的默认字符集解码指定的 byte 子数组,构造一个新的 String。result=result+temp;/ 相当于创建一个存取String的容器,每读取10个字节就存入/得出的temp是局部变量,通过此办法可以转化到成员变量fis.close();System.out.println(result);java.io.File即是文件又是目录,包括对文件/目录的非读写操作io流负责读写操作绝对路径;从根目录开始相对路径:当前目录.类File实现了Serializable可序列化, Comparable比较接口intcompareTo(Filepathname) 按字母顺序比较两个抽象路径名。booleancreateNewFile()当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件。staticFilecreateTempFile(Stringprefix, Stringsuffix)在默认临时文件目录中创建一个空文件,使用给定前缀和后缀生成其名称。(前缀要大于3位)inthashCode() 计算此抽象路径名的哈希码。booleanexists()测试此抽象路径名表示的文件或目录是否存在。(重要)booleandelete()删除此抽象路径名表示的文件或目录。voiddeleteOnExit()在虚拟机终止时,请求删除此抽象路径名表示的文件或目录。booleanisFile() 测试此抽象路径名表示的文件是否是一个标准文件。longlength() 返回由此抽象路径名表示的文件的长度(文件大小)Stringlist(FilenameFilterfilter)返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中满足指定过滤器的文件和目录。FilelistFiles()返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。booleanmkdirs()创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。booleanrenameTo(Filedest)重新命名此抽象路径名表示的文件。File f=new File(“C:/Image”); 此时并没有创建出文件要用下面的方法1. 创建文件/文件夹CreateNewFile创建文件mkdirs创建目录CreateTempFile创建临时文件2. 删除:delate3. 取子文件/子目录list() listFiles()4.Exists是否存在 length()大小 相对路径/绝对路径在file中,1./可以跨平台 F:/a/b相当于F:ab 2.相对路径可以跨平台流的分类:1.按功能划分:InputStream输入流(从文件读的进程序) OutputStream输出流(将程序的内容写到文件) 要站在内存角度看2.按底层数据操作方式 Byte Stream字节流(适用所有信息) Char Stream字符流(仅限文本信息) 都是reader的3.按操作对象不同 节点流Node Stream要指明数据来源 包装流WrapperStream 包装流操作强化节点流,节点流与底层设备打交道,节点流作为包装流的构造参数传入IO流的编程步骤1. 选节点流(按设备,读文件用读文件的,读网络用读网络,读键盘用System.in)2. 选包装流(按功能,要逐行,还是一次对一个Int(Data),还是一个对象(Object)的读)3. 用包装流读/写4. 关闭包装流即可InputStream是所有字节的输入流根管道流用于线程信息交互FileInputStream文件输入流(节点流)ObjectInputStream对象输入流(包装流)PrintStream逐行输出reader字符输入流根 writer字符输出流根1. 文件流 FileInputStream/FileOutputStream2. 对象流 ObjectInputStream/ObjectOutputStream3. 数据流(支持基本类型/String格式) DataInputStream/DataOutputStream4. 逐行流 逐行写PrintStream的println 逐行读是BufferedReader(只支持字符流)5. 字节流-转成字符流 InputStreamReader(字节流作为参数) OutputStreamWriter(字节流做参数) 都new出来就是字符流了装饰模式装饰模式是在不必改变原类文件和使用继承的情况下,动态的扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。(例子做鱼)InputStreamintread(byteb)从输入流中读取一定数量的字节,并将其存储在缓冲区数组 b 中。靠返回值为-1退出OutputStreamvoidwrite(byteb)将 b.length 个字节从指定的 byte 数组写入此输出流。voidwrite(byteb, intoff, intlen)将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此输出流。FileInputStream(Stringname)通过打开一个到实际文件的连接来创建一个 FileInputStream,该文件通过文件系统中的路径名 name 指定。FileOutputStream(Stringname, booleanappend)创建一个向具有指定 name 的文件中写入数据的输出文件流。追加为trueDataInputStream(InputStreamin)使用指定的底层 InputStream 创建一个 DataInputStream。DataOutputStream(OutputStreamout)创建一个新的数据输出流,将数据写入指定基础输出流BufferedReader(Readerin)创建一个使用默认大小输入缓冲区的缓冲字符输入流。(因为要先进入缓冲区,所以要显示出来必须刷新,用close或flush刷新)PrintStream(OutputStreamout)创建新的打印流。InputStreamReader(InputStreamin)创建一个使用默认字符集的 InputStreamReader。OutputStreamWriter(OutputStreamout)创建使用默认字符编码的 OutputStreamWriter。BufferedReader中的readLine读完返回null1. InputStreamReader isr=new InputStreamReader(System.in/ new一个文件输入流)2. BufferedReader br=new BufferdReader(isr);即BufferedReader br=new BufferedReader(new InputStreamReader(System.in/ new一个文件输入流);配置文件: # 开始的一行为注释信息;在等号“ = ”左边的我们称之为 key ;等号“ = ”右边的我们称之为 value 。1. 属性文件(支持.txt/.properties) java.util.Properties2. XML可扩展标记语言(主流)用Properties类操作.txt/.properties文件属性对象(内存) new Properties属性文件(硬盘) perties把属性文件加载到内存用load/用store存储java.util.Propertiesvoidload(InputStreaminStream)从输入流中读取属性列表(键和元素对)。voidload(Readerreader)按简单的面向行的格式从输入字符流中读取属性列表(键和元素对)。voidstore(OutputStreamout, Stringcomments)以适合使用 load(InputStream) 方法加载到 Properties 表中的格式,将此 Properties 表中的属性列表(键和元素对)写入输出流。voidstore(Writerwriter, Stringcomments)以适合使用 load(Reader) 方法的格式,将此 Properties 表中的属性列表(键和元素对)写入输出字符。西欧拉丁编码 ISO8859-1中文编码 utf-8 GBK(东亚语系) GB2312(简体中文)所有的这些都支持英文数字username=new String(username.getBytes(“ISO8859-1”),”GBK”)/用于解决编码问题,表示以ISO8859-1格式拆分,以GBK格式组,有时候“ISO8859-1”与”GBK”要互换数据源-输入节点流(字节流/字符流)输入包装流-应用程序-输出包装流-输出节点流-目标数据对象序列化对象输入输出时需要将对象拆成底层的byte需要一个规范,在重新组成一个对象也需要一个规范对象在流中传递时,必须遵循对象序列化./在流中如果传输的对象没有实现对象序列化会抛出为序列化异常,所以要实现Serializable接口. Serializable里没方法,只
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 今日高考试题及答案
- 解析卷-人教版8年级数学下册《平行四边形》定向攻克试题(含详细解析)
- 有色金属配料工测试考核试卷及答案
- 街头挑战考试题及答案
- 轿车教练考试题及答案
- 室内木装修工专业技能考核试卷及答案
- 人工智能训练师异常处理考核试卷及答案
- 手工等离子切割工岗位操作规程考核试卷及答案
- 机载悬挂产品装调工设备维护与保养考核试卷及答案
- 提硝工测试考核试卷及答案
- 北京市各县区乡镇行政村村庄村名明细
- EN61238-1额定电压36kV电力电缆用压接和机械连接器 试验方法和要求
- 各种轴载换算计算方法
- 专利法全套ppt课件(完整版)
- (高职)《会展策划》(第三版)ppt课件(完整版)
- 自动插件机操作指导书
- 商超类企业抖音代运营方案(综合)
- 海上保险法课堂笔记(国航上课版)
- 精选文档大跨度梁板混凝土浇筑方案
- 数学算24点题目
- 顾问式销售培训(PPT46页)
评论
0/150
提交评论