




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
文件输入与输出以流的形式进行,同时根据内容不同分为字节和字符两种字节流的读取与写入读取步骤:FileFileInputStreamf.read(bytes)写入步骤:FileFileOutputStreamf.write(bytes)演示:读取字节文件即把字节从文件读到内存中File f=null;/定义文件类的变量,并为空f=new File(“”);/给变量赋值,表明指向某个文件因为File没有读写的能力,所以需要用个InputStreamTryFileInputStream fis=null;/定义文件字节输入流变量fis=new FileInputStream(f);/给其赋值,指向目标文件Byte bytes=new byte1024; /定义数组,把字节流的字节读到数组中,相当于缓存Int n=0;/记录读取的字节数While(n=fis.read(bytes)=-1)/以1024字节大小为单位每次读取字节,从fis字节流中,并放到bytes字节组中,读取字节个数为零即读到末尾,则返回数值-1. String s=new String(bytes,0,n);/ 把字节转换成字符串,0代表:转换开始的下标;n代表:转换字节的长度。 System.out.println(s);/把字符串打印到显示器上演示:写入字节文件即把字节从内存中写道文件里 File f=null;f=new File(“d:ss.txt”);FileOutputSteam fos=null;Try Fos=new FileOutputStrream(f); String s=” ”;/定义空字符串 Byte bytes=new byte1024;/定义字节数组,存储转换来的字符 Fos.write(s.getBytes();/把String转化为byte举例:图片的拷贝即从一个磁盘拷贝到另一个磁盘;或从一个电脑到另一个电脑思路:先把图片读到内存,在写入到某个文件里,因为图片是二进制文件,则只能用字节流File f1=new File(“c:a.jpg”);FileInputStream fis=null;Fis=new FileInputStream(f1) ;File f2=new File(“d:a.jpg”);FileOutputStream fos=null;Fos=new FileOutputStream(f2);Byte buf=new byte1024;Int n=0;/记录实际读到的字节数While(n=fis.read(buf)!=-1)/以buf的大小为单位读取fis文件里的字节,读到内存buf字节组中。N代表一次读的字节的个数,当没有读到字节时,n的返回数值是-1. Fos.write(buf);字符的读取和写入文件字符流:FileReaderf.read(c);FileReaderBufferedReaderf.readLine();FileFileReaderBufferedReaderreader.readLine();同理: FileWeaderf.write(c);FileWeaderBufferedWriterf.write();FileFileWeaderBufferedWriterreader.write();文件读取字符流对象FileReader fr=null;/写入到文件FileWriter fw=null;Try Fr=new FileReader(“c:test.txt”);/创建输出对象 Fw=new FileWriter(“d:vvv.txt”); Int n=0;/记录实际读取的字符数 Char c=new char1024;/定义字符数组,来存放从文件读取的字符 While(n=fr.read(c)!=-1)String s=new String(c,0,n);/把字符数组转换为字符串System.out.println(s);System.out.println(c);Fw.write(c);/将字符写入到d盘指定的文件第二种:BuffereReader br=null;bufferedWriter bw=null;Try /先创建FileReader对象,然后再升级为bufferedReader /先通过FileReader找到文件,再转成bufferedReader FileReader fr=new FileReader(“c:test.txt”); Br=new bufferedReader(fr); /创建FileWriter对象 FileWriter fw=new FileWriter(“d:”); Bw=new bufferedWriter(fw); /循环读取文件: String s=”;While(s=br.readLine()!=null)System.out.println(s);/输出到磁盘Bw.write(s+”rn”); 第三种情况:/字符流把文件的字符以行的形式读到内存中并显示File file=null;FileReader fr=null;BufferedReader reader=null;File=new File(“C:UsersAdministrator mysql_tmoss.TXT”);Fr=new FileReader(file);Reader=new Bufferedreader (fr);String s=null;s=reader.readLine()/从输入流中读取一行字符,并赋给字符串swhile(s=reader.readLine()!=null) System.out.println(s);/把上述字符流写到另一个文件或把内存的字符流写到某文件中则File file1=null;FileReader fw=null;BufferedReader writer=null;File1=new File(“C:UsersAdministrator mysql.TXT”);/如果文件存在则会覆盖,如果文件不存在则重建一个Fw=new FileReader(file1);Writer=new BufferedReader(fw);Writer.write(s);从键盘输入字符/ System.in:标准”输出流。此流已打开并准备接受输出数据InputStreamReader isr=new InputStreamReader(System.in);BufferedReader br=new BufferedReader(isr);/从控制台读取一行数据,默认形式为字符串。String a1=br.readLine();/转换形式:Float num=Float.parseFloat(a1);备注:FileInputStream:从文件系统中的某个文件中获取输入字节。FileReader:从文件系统中的某个文件中获取输入字符。FileInputStream(File file):通过打开一个到实际文件的连接来创建一个FileInputStream,该文件通过文件系统中的File对象file来指定。FileInputStream(String name):通过打开一个到实际文件的连接来创建一个FileInputStream,该文件通过文件系统中的路径名name 指定Read():从此输入流中读取一个数据字节Read(byte b):从此输入流中将最多b.length个字节的数据读入一个字节数组中。Read(byte b,int off ,int len):从此输入流中将最多len 个字节的数据读入一个字节数据中。File 定义一个文件类型的变量,用来指定磁盘中的文件:File f = new File(C:/programfiles/java/java/file.txt);创建一个文件:f.createMenFile创建文件夹:File f=new File(“d:ff”); f.mkdir();如何列出文件夹下有多少个文件:File f=new File(“d:ff”); If(f.isDirectory() File lists=f.listFiles(); For(int i=0;i=lists.length;i+) System.out.println(“文件名”+listsi.getName();记事本读写文件功能实现:Java中构造函数:作用:实例化对象注意:每一个类中都必须有一个构造函数,可以自己定义;如果没有定义,则系统会提供一个默认的构造函数.要求:1,构造函数名必须和类名相同,构造函数只能通过new关键字调用,普通函数需要通过类的实例调用,如果是static方法,则直接通过类名即可调用 构造函数没有返回类型,普通函数必须有返回类类型,不返回用void表示 构造函数是一个特殊的函数,是无返回类型修饰即没有任何返回类型,和类名一模一样,参数随意。 对象是用相应的构造函数创建出来的,是通过执行相应构造函数里的内容进行的 先通过new分配对象内存,然后调用构造函数,执行构造函数 构造这个类的对象的时候就必须执行构造函数要有构造函数才能构造一个对象也就是说一个构造函数的执行和对象的构造是同步的或者说构造函数执行了之后才能构造对象 构造方法 只能是public 类名() 一个类中可以定义带参数的构造方法,也可以定义不带参数的构造方法以,这样的定义叫做重载 有的时候调用这个类不必要用到构造函数。只有你需要用到这个类的对象的时候才会用到它。1,在Java程序中,其原始程序的文件名不能随意命名,必须和public类名称一样,因此在一个独立的原始程序里,只能有一个public类,却可以有许多non-public类。若是在一个Java程序中没有一个类是public,那么该Java程序的文件名就可以随意命名了。2, Java程序是由一个或一个以上的类组合而成,程序起始的主体也是被包含在类之中。这个起始的地方称为main(),public static void main(String args) / main() method,主程序开始如前一节所述,main() method之前必须加上public static void 这三个标识符。public代表main()公有的method;static表示main()在没有创建类对象的情况下,仍然可以被运行;void则表示main()方法没有返回值。Main后的括号()中的参数String args表示运行该程序时所需要的参数,这是固定的用法,如果现在不了解也没有关系,在以后的章节中会一一介绍。Java中的包、类、方法、参数和变量的名字,可由任意顺序的大小写字母、数字、下划线(_)和美元符号($)组成,但标识符不能以数字开头,不能是Java中的保留关键字。System.out是指标准输出,通常与计算机的接口设备有关,如打印机、显示器等。其后所连接的println,是由print与line所组成的,意义是将后面括号中的内容打印在标准输出设备显示器上。左、右括号之间的内容,即是欲打印到显示器中的参数,参数可以是字符、字符串、数值、常量或是表达式,参数与参数之间以括号作为间隔。println()中的变量共有三个,以加号连接这些将被打印的数据。在此,加号是“合并”的意思,并非作为算术运算符号的用途。当表达式中有类型不匹配时,有下列的处理方法:(1)占用较少字节的数据类型会转换成占用较多字节的数据类型。(2)有short和int类型,则用int类型。(3)字符类型会转换成short类型。(4)int类型转换成float类型。(5)若一个操作数的类型为double,则其它的操作数也会转换成double类型。(6)布尔类型不能转换至其他的类型。File类是IO包中唯一代表磁盘文件本身的对象,File类定义了一些与平台无关的方法来操作文件,通过调用File类提供的各种方法,能够完成创建,删除和重命名文件,判断文件的读写权限以及是否存在,设置和查询文件的最近修改时间等操作Java能正确处理约定路径分隔符,如果在windows版本的java下用斜线,路径处理依然正确,记住,如果使用windows使用反斜线的约定,就需要在字符串内使用它的转义序列。Java约定是用unix和url风格的斜线来作为路径的分隔符下面的构造方法可以用来生成File对象File(String directoryPath)这里,directoryPath是文件的路径File 定义了很多获取File对象标准属性的方法。例如:getName()用于返回文件名getParent()返回父目录名,exists()方法在文件存在的情况下返回true,反之返回false。然而File类是不对称的,意思是虽然存在可以验证一个简单文件对象属性的很多方法,但是没有相应的方法来改变这些属性。Java的流式输入/输出建立在四个抽象类的基础上:InpurStream,OutputStesm,Reader和Writer。他们用来创建具体流式子类。尽管程序通过具体子类执行输入/输出操作,但顶层的类定义了所有流类的基本通用功能InputStream和OutputStream设计成字节流类。Reader和Writer为字符流类。字节流类和字符流类形成分离的层次结构。一般说来,处理字符或字符串时应使用字符流类,处理字
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 六一班级游乐场活动方案
- 关于健康教育活动方案
- 关于叠被子活动方案
- 完善社区基本公共服务设施实施方案
- 推进城镇老旧小区整治改造实施方案
- 数智化转型在业财融合价值提升中的应用
- 强化就业服务保障的策略及实施路径
- 集体经济组织现代化管理与技术应用分析
- 鼓励居民开展城镇住房室内装修实施方案
- 2024年广州市从化区卫生健康局所属事业单位招聘真题
- 第四章婴儿期的心理发展
- GB/T 19139-2012油井水泥试验方法
- 2023年浙江大学形势与政策题库
- 铁道概论试题及答案重要
- 空间几何中的平行与垂直 新高考 数学 一轮复习专项提升 精讲精练
- 镁合金片状、带状或条状,含镁>50%MSDS危险化学品安全技术说明书
- 大班语言《蓝盒子》课件
- 动物解剖学之 泌尿系统课件
- 幼儿园大班社会:《京剧》 课件
- 红茶加工技术培训教学课件
- 商业运营委托管理合同模板
评论
0/150
提交评论