第一讲: 引言——软件开发过程

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

StringBufferInputStream(String) – 把一个String 转换为InputStream
Java的输入输出 16
过滤流
8
FilterInput/OutputStream – 作用:给朴素的Input/OutputStream加上一些 修饰--某些有用的格式 – 来源:Input/OutputStream – 种类:
• DataInput/OutputStream • ButteredInput/OutputStream • PrintStream 仅有输出流
Java的输入输出
8
6
标准文件类: File
8
File类的对象对应于文件系统中的一个目
录或文件 File类对象描述文件路径、名字、长度、 可否读写等属性,可用来命名文件、查 询文件属性和处理目录,但不读写文件 体现了跨平台不同文件的统一管理
Java的输入输出
7
File的构造函数
File(String path) – 绝对路径
File f1 = new File(“c:\\mydir\\myfile.txt”);
8
– 相对路径,移植性较好
File f2 = new File(“mydir\\dir1”);
File(String path, String name) File(File dir, String name)
Java的输入输出 14
简单的IO流(续)
8
PipedInput/OutputStream – 管道:用于把一个程序的输出连接到另一个 程序的输入 – 管道流对于一个流的多次系列操作很适用
public InputStream process1(InputStream s)
– ps=new PipedOutputStream(); – PrintStream os=new PrintStream(ps); – is=new PipedInputStream(ps);
8
Java的输入输出
清华大学计算中心 2000,5
主要内容
Java的基本输入输出 IO流的类层次 标准文件类File 简单IO流 过滤流 文件的处理 Java 1.1的IO
Java的输入输出
8
2
JAVA的输入/输出
JAVA的输入/输出机制:流的概念
输入/输出流:java.io包中的标准类 – 两个基本抽象类: • InputStream, OutputStream
8
if ( Fdir1.exists() && Fdir1.isDirectory()) {
System.out.println("There is a directory "+sdir+" exists."); for( int i=0; i< Fdir1.list().length; i++) //列出目录下内容
8
变量separator(public static final String) – 为本机操作系统支持的路径分隔符 – DOS, Win95 “\\” – Unix “/”
例: FileOperation.java – 对文件和目录的简单操作
Java的输入输出 11
public static void main(String args[]) { try { DataInputStream din = new DataInputStream(System.in); String sdir = "test”, sfile; File Fdir1 = new File(sdir);
8
System类包含三个I/O流成员用于系统标
准输入/输出
– public static InputStream System.in – public static PrintStream System.out – public static PrintStream System.err
Java的输入输出 5
IO流的类层次
Input/OutputStream – StringBufferInputStream 仅有输入流 – SequenceInputStream 仅有输入流 – ByteArrayInput/OutputStream – FileInput/OutputStream – PipedInput/OutputStream – FilterInput/OutputStream
8
OutputStream – public void write(int) 写出int的低位字节 – public void close() – public void flush() 把缓冲写出至外设 基本IO流操纵的是无格式的二进制码
Java的输入输出 4
JAVA系统标准输入/输出
用于基本系统操作的类System public final class java.lang.System extends java.lang.Object
8
PrintStream – 对于基本数据类型进行有格式的显示 – 注意:此处为显示格式 例:DataInOut.java
Java的输入输出
19
int i=20; float d=(float)20.22; String s=“Hello测试"; try{ DataOutputStream dout = new DataOutputStream( new FileOutputStream(“test.txt”)); //dout可格式输出 DataInputStream din = new DataInputStream( new FileInputStream(“test.txt”)); //din可格式输入 //利用DataOutputStream dout写出数据 dout.writeInt(i); dout.writeFloat(d); dout.writeUTF(s); System.out.println("write successfully!"); //利用DataInputStream din读入数据, din与dout配套使用 System.out.println("reading out:"); System.out.println(din.readInt()); System.out.println(din.readFloat()); System.out.println(din.readUTF()); } catch(Exception e) { }
sfile = din.readLine(); //选取指定目录下一个文件 File Ffile = new File( Fdir1, sfile ); if( Ffile.isFile() ) //显示文件有关信息 System.out.println("File "+Ffile.getName() + " in Path "+Ffile.getPath() + " is "+Ffile.length()+" in length. "); } //end of if else System.out.println("the directory doesn't exist!"); } catch(Exception e) { System.out.println(e.toString()); } //end of try{}catch{} } //end of main
• • • •
8
基本类中定义了完成基本I/0操作的抽象方法 读写操作:read,write 关闭流的操作:close 送出并清空缓冲区数据的操作:flush
Java的输入输出 3
JAVA的输入/输出(续)
InputStream – public int read() 按二进制字节读取 – public void close()
DataInput/OutputStream – 对于基本数据类型进行有格式的读写 – 注意:此处为存储格式,DataOutputStream 与DataInputStream 配套使用才有意义 Java的输入输出
18
过滤流(续)
– 实现了DataInput接口 readInt/Float/Char/Boolean/Long/Double() readLine()-从键盘读入的重要方法 – 实现了DataOutput接口 writeInt/Float/Char/Boolean/Long/Double()
System.out.println( (Fdir1.list())[i]); File Fdir2=new File("test\\temp"); if(!Fdir2.exists()) Fdir2.mkdir(); //创建原不存在的目录 System.out.println();
System.out.println("Now the new list after create a new dir:");
• • • • DataInput/OutputStream BufferedInput/OutputStream PrintStream 其他
Java的输入输出 17
过滤流(续)
8
BufferedInput/OutputStream – 自动利用内存缓冲,不必每次存取外设 – 还可在其外面再加包装 new DataInputStream(new BufferedInputStream( new FileInputStream(“File1.txt”) ) );
return is;
Java的输入输出
15
简单的IO流(续)
SequenceInputStream
8
SequenceInputStream(InputStream, InputStream) 把两个/多个InputStream连接为一个InputStream
ByteArrayInput/OutputStream – 从字节数组读取/向字节数组写入8位数据
8
– 列出目录中的文件 public String[] list()
文件/目录操作 – 重命名 public boolean renameTo(File new) – 删除 public boolean delete();
Java的输入输出 10
File的方法(续)
– 创建目录 public boolean mkdir()
File f3 = new File(f2,”myfile.txt”);
Java的输入输出 8
File的方法
获取文件/目录属性 – 是否存在 public boolean exists() – 判断是文件还是目录
public boolean isFile(); public boolean isDirectory();
8
Java的输入输出
13
简单的IO流
8
FileInput/OutputStream – 代表一个在本地文件系统中的文件的IO流, 可通过文件名或文件对象创建。
FileInputStream fis=new FileInputStream(“….\\in.txt”); FileOutputStream fos=new FileOutputStream(“….\\out.txt”); int c: while((c=fis.read())!= -1) fos.write(c); fis.close(); fos.close();
for( int i=0; i< Fdir1.list().length; i++) //检查目录是否已建立
System.out.prinwk.baidu.comln( (Fdir1.list())[i]);
Java的输入输出 12
System.out.println("Enter a file name in this directory:");
8
– 获取文件名称或整个路径
public String getName() 仅返回文件名 public String getPath() 返回整个路径字符串
Java的输入输出 9
File的方法(续)
– 文件长度 public long length() – 文件读写属性
public boolean canRead() public boolean canWrite()
相关文档
最新文档