1、”如果十年前Sun没有做Java,人们便会写.Net程序,如果他们写.Net程序,他们就是为windows写程序,而不是为Sun的设备写程序”Scott McNealy(Sun首席执行官)第十三课第十三课 文件与文件与IOIO流流”如果十年前Sun没有做Java,人们便会写.Net程序,如果他们写.Net程序,他们就是为windows写程序,而不是为Sun的设备写程序”Scott McNealy(Sun首席执行官)回回 顾顾1、子类重写父类中的方法能否缩小访问权限和抛出更多的异常?no no2、方法重载需要满足哪些条件?在同一方法中,方法名相同,参数列表不同4、包装类型可以与基本类型之间相互赋
2、值吗?可以 5、将数字字串转换为基本数字类型该如何操作?parseXXX6、String类与StringBuffer类有何区别?string不可以被改变 stringbuffer只有一个版本7、java.lang包需要导入么,import java.lang.*?不需要,它是自动导入的8、Integer sum=null;int sum02=sum.parseInt(“123”);上面的代码片段操作正确么?Y9、一个类中的静态块在什么时候被执行?类中有入口main方法 初始化一个类 调用Java api反射方法(仅执行一次)10、静态块中可以操作实例成员(实例变量与实例方法)吗?不能11、pr
3、otected提供的访问权限操作范围是什么?可被声明它的类和派生类的子类以及同一个包中的类访问12、this与super在调用成员方法和构造方法时有什么不同点?this调用是指向的本类,super是指向调用的父类”如果十年前Sun没有做Java,人们便会写.Net程序,如果他们写.Net程序,他们就是为windows写程序,而不是为Sun的设备写程序”Scott McNealy(Sun首席执行官)本课案例本课案例使用文件流操作完成文件的复制、剪切等操作”如果十年前Sun没有做Java,人们便会写.Net程序,如果他们写.Net程序,他们就是为windows写程序,而不是为Sun的设备写程序”S
4、cott McNealy(Sun首席执行官)本章目标本章目标运用File类进行文件和目录操作理解流、标准输入/输出流的概念运用FileInputStream和FileOutputStream类读写文本文件运用BufferedReader和BufferedWriter类读写文本文件运用ObjectOutputStream与ObjectInputStream实现对象流的读写操作运用ByteArrayInputStream与ByteArrayOutputStream实现对象在内存中的序列化与反序列化”如果十年前Sun没有做Java,人们便会写.Net程序,如果他们写.Net程序,他们就是为windo
5、ws写程序,而不是为Sun的设备写程序”Scott McNealy(Sun首席执行官)文文 件件什么是文件 文件可认为是相关记录或放在一起的数据的集合,目录可以看成是一种特殊的文件,文件类型中的一种,可以再包含其他的目录和文件类型。而一般文件是文本等内容,不能再包含其他文件类型。文件一般存储在哪里?JAVA程序一般通过什么去访问文件属性?JAVA API:java.io.File 类”如果十年前Sun没有做Java,人们便会写.Net程序,如果他们写.Net程序,他们就是为windows写程序,而不是为Sun的设备写程序”Scott McNealy(Sun首席执行官)文文 件件File Fil
6、e File 类类类类类类物理文件或目录构造文件对象操作文件或目录的属性(路径、权限、日期和时间等)”如果十年前Sun没有做Java,人们便会写.Net程序,如果他们写.Net程序,他们就是为windows写程序,而不是为Sun的设备写程序”Scott McNealy(Sun首席执行官)文文 件件import java.io.File;File file=new File(c:/test/test.txt);System.out.println(文件或目录是否存在文件或目录是否存在:+file.exists();System.out.println(是文件吗是文件吗:+file.isFile(
7、);System.out.println(是目录吗是目录吗:+file.isDirectory();System.out.println(文件名称文件名称:+file.getName();System.out.println(相对路径相对路径:+file.getPath();System.out.println(绝对路径绝对路径:+file.getAbsolutePath();System.out.println(父目录:父目录:+file.getParent();System.out.println(是否可读:是否可读:+file.canRead();System.out.println(是
8、否可写:是否可写:+file.canWrite();Date now=new Date(file.lastModified();SimpleDateFormat sdf=new SimpleDateFormat(yyyy年年MM月月dd日日 hh:mm:ss);System.out.println(最后修改时间最后修改时间:+sdf.format(now);System.out.println(文件大小文件大小:+file.length()+字节字节);”如果十年前Sun没有做Java,人们便会写.Net程序,如果他们写.Net程序,他们就是为windows写程序,而不是为Sun的设备写程序”
9、Scott McNealy(Sun首席执行官)流流流是指一连串流动的字符,是以先进先出方式发送信息的通道InputStreamOutputStream来自数据源的数据流来自数据源的数据流流向目的地的数据流流向目的地的数据流AECDBF”如果十年前Sun没有做Java,人们便会写.Net程序,如果他们写.Net程序,他们就是为windows写程序,而不是为Sun的设备写程序”Scott McNealy(Sun首席执行官)水池(数据源)水池(数据源)进水口(输入流)进水口(输入流)出水口(输出流)出水口(输出流)下水道(目标)下水道(目标)开关开关房子(程序)房子(程序)输入输出流输入输出流读读写
10、写按流向分为输入流和输出流。所谓输入输出是针对程序而言的,换言之输入流是读文件的流,输出流是写文件的流。流与数据源和程序之间的关系如下图所示:”如果十年前Sun没有做Java,人们便会写.Net程序,如果他们写.Net程序,他们就是为windows写程序,而不是为Sun的设备写程序”Scott McNealy(Sun首席执行官)字节字符流字节字符流输入输出流又分为字节流(类名以Stream结尾)和字符流(Reader和Writer)两种形式字节流 8 位 InputStream OutputStream字符流 16 位 Unicode Reader Writer”如果十年前Sun没有做Java
11、,人们便会写.Net程序,如果他们写.Net程序,他们就是为windows写程序,而不是为Sun的设备写程序”Scott McNealy(Sun首席执行官)文件的读写文件的读写文本文件的读写用用FileInputStream读文本文件读文本文件用用FileOutputStream写文本文件写文本文件用用BufferedReader读文本文件读文本文件用用BufferedWriter写文本文件写文本文件”如果十年前Sun没有做Java,人们便会写.Net程序,如果他们写.Net程序,他们就是为windows写程序,而不是为Sun的设备写程序”Scott McNealy(Sun首席执行官)引入相关
12、的类 import java.io.IOException;import java.io.InputStream;import java.io.FileInputStream;构造一个文件输入流对象 InputStream fis=new FileInputStream(“c:test.txt”);利用文件输入流类的方法读取文本文件的数据fis.available();/可读取的字节数fis.read();/读取文件的数据 关闭文件输入流对象fis.close();用用FileInputStream 读文本文件读文本文件”如果十年前Sun没有做Java,人们便会写.Net程序,如果他们写.Ne
13、t程序,他们就是为windows写程序,而不是为Sun的设备写程序”Scott McNealy(Sun首席执行官)用用FileInputStream 读文本文件读文本文件public static void main(String args)throws IOException int size;InputStream fis=null;try fis=new FileInputStream(c:test.txt);size=fis.available();System.out.println(可读取的字节数可读取的字节数:+size);char text=new char200;for(in
14、t count=0;count size;count+)textcount=(char)fis.read();System.out.print(textcount);catch(IOException e)e.printStackTrace();finally try fis.close();catch(IOException e)e.printStackTrace();创建一个创建一个 FileInputStream 对象对象使用使用 available()方法确定方法确定文件的大小文件的大小使用使用 read()方法一次读取一个方法一次读取一个字符,然后将字符存储在字符数字符,然后将字符存
15、储在字符数组中并显示字符组中并显示字符”如果十年前Sun没有做Java,人们便会写.Net程序,如果他们写.Net程序,他们就是为windows写程序,而不是为Sun的设备写程序”Scott McNealy(Sun首席执行官)引入相关的类import java.io.IOException;import java.io.OutputStream;import java.io.FileOutputStream;构造一个文件输出流对象OutputStream fos=new FileOutputStream(“c:test.txt);利用文件输出流的方法写文本文件String str=我爱Java
16、!好好学习!天天向上!;byte words =str.getBytes();fos.write(words,0,words.length);关闭文件输出流fos.close();用用FileOutputStream 写文本文件写文本文件”如果十年前Sun没有做Java,人们便会写.Net程序,如果他们写.Net程序,他们就是为windows写程序,而不是为Sun的设备写程序”Scott McNealy(Sun首席执行官)用用FileOutputStream 写文本文件写文本文件public static void main(String args)throws IOException OutputStream fos=null;try String str=我爱我爱Java!好好学习!天天向上!好好学习!天天向上!;byte words=str.getBytes();fos=new FileOutputStream(c:test.txt);fos.write(words,0,words.length);System.out.println(文件已更新文件已更新!);catch(IOE
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1