第10章 Java的网络编程

更新时间:2023-07-18 07:39:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第10章 Java的网络编程TCP/IP体系结构使用URLURL概念编程TCP编程Socket与Datagram概念TCP编程

Java的输入输出

第10章 Java的网络编程TCP/IP体系结构使用URLURL概念编程TCP编程Socket与Datagram概念TCP编程

主要内容Java的基本输入输出 I/O流的类层次 标准文件类File 简单I/O流 过滤流 文件的处理 Java 1.1的I/OJava的输入输出

9

第10章 Java的网络编程TCP/IP体系结构使用URLURL概念编程TCP编程Socket与Datagram概念TCP编程

I/O软件层应用 程序

9独 立 于 设 备 的 I/O 层设备驱动程序 设备驱动程序

应用 程序

java.io 提供 I/O层 (类层)

设备驱动程序

设备驱动程序

应用 程序

设备驱动程序 OS Java的输入输出

第10章 Java的网络编程TCP/IP体系结构使用URLURL概念编程TCP编程Socket与Datagram概念TCP编程

java.io的核心

9

文件(File类) – 各种文件系统提供的基本服务一样,但实现细节互 不相同。 – 解决java程序与文件系统的沟通。 流 — 线性的顺序的输入输出数据流读输入流

写输出流

I/O 流类Java的输入输出 4

第10章 Java的网络编程TCP/IP体系结构使用URLURL概念编程TCP编程Socket与Datagram概念TCP编程

标准文件类: File

9

File类的对象是文件系统中的一个目录或文件 的抽象表示。 File类对象描述文件路径、名字、长度、可否 读写等属性,可用来命名文件、查询文件属性、 对目录进行操作,但不读写文件。 上述操作都是以独立于系统的方式进行。 通过File类对象可以对操作系统的文件进行管 理,体现了跨平台不同文件的统一管理Java的输入输出 5

第10章 Java的网络编程TCP/IP体系结构使用URLURL概念编程TCP编程Socket与Datagram概念TCP编程

File类构造方法

9

File(String path) – 封装文件例(使用相对路径,移植性较好) File f1 = new File(“mydir\\myfile.txt”); – 封装目录例(使用绝对路径) win \\ File f2 = new File(“d:\\mydir\\dir1”); unix / File(String parent, String child ) File f3 = new File(“d:\\d1” , “a.java”) File(File dir, String name) File f4 = new File(f2 , “myfile.txt”);Java的输入输出 6

第10章 Java的网络编程TCP/IP体系结构使用URLURL概念编程TCP编程Socket与Datagram概念TCP编程

File类方法—获取文件属性

9

判断目标是否存在 public boolean exists() 判断是文件还是目录 public boolean isFile(); public boolean isDirectory(); 获取文件名称或整个路径 public String getName() 仅返回文件名 public String getPath() 返回整个路径字符串 获取文件长度 public long length() 获取文件读写属性 public boolean canRead() public boolean canWrite() 列出目录中的文件 public String[] list() Java的输入输出 public File[] listFiles()

第10章 Java的网络编程TCP/IP体系结构使用URLURL概念编程TCP编程Socket与Datagram概念TCP编程

File类方法—文件/目录操作重命名 public boolean renameTo(File newName) 删除文件或目录 public boolean delete(); 创建目录 public boolean mkdir() 创建目录及父目录(如果需要的话) public boolean mkdirs() 创建临时文件 public static File createTempFile(文件名,后缀) throws IOException deleteOnExit()Java的输入输出

9

第10章 Java的网络编程TCP/IP体系结构使用URLURL概念编程TCP编程Socket与Datagram概念TCP编程

File的方法(续)

9

File类使用一个静态实例变量separator (public static final String)保存了当前的目录分隔符。 – 为本机操作系统支持的路径分隔符 – DOS, Win95 “\\” – Unix “/” File f1=new File(“Documents”+File.separator+“data.txt”);

Java的输入输出

第10章 Java的网络编程TCP/IP体系结构使用URLURL概念编程TCP编程Socket与Datagram概念TCP编程

文件的处理随机访问文件:RandomAccessFile类– – – – –

9

不属于Input/OutputStream 用于访问本地文件 可以实现随机访问 可读可写 同时实现

了DataInput和DataOutput接口,可同时进行 有格式的读写

创建时指定对应某一文件完成读或写操作 用于读写一个文件中任意位置的数据 视文件如同一个字节类型数组,数组下标即文 件指针。读写操作都会移动指针 10 Java的输入输出

第10章 Java的网络编程TCP/IP体系结构使用URLURL概念编程TCP编程Socket与Datagram概念TCP编程

文件I/O类:RandomAccessFile9构造方法 RandomAccessFile(File file, String mode)参数: file 一个File对象,它封装了一个同系统相关的文件名 mode “r”用于只读;“rw”用于读写

RandomAccessFile(String name, String mode)参数: name 文件名(同系统相关) mode “r”用于只读;“rw”用于读写 如 RandomAccessFile s1=new RandomAccessFile(“a.txt”, “r”); File f1=new File(“a.txt”); RandomAccessFile s2=new RandomAccessFile(f1, “rw”);Java的输入输出 11

第10章 Java的网络编程TCP/IP体系结构使用URLURL概念编程TCP编程Socket与Datagram概念TCP编程

文件的处理(续)

9

随机文件读写 – readXx(),writeXx( ):实现DataInput/Output接口 – 读写位置:文件指针及其操作方法 指针操作 long getFilePointer() 返回文件指针的当前位置,即相 对于文件头的位移量。单位:字节 该位置即下一个 读写操作的位置。 void seek(long pos) 移动指针 (位移单位:字节)将文件 指针设置为偏移文件开始的pos字节处Java的输入输出 12

第10章 Java的网络编程TCP/IP体系结构使用URLURL概念编程TCP编程Socket与Datagram概念TCP编程

文件I/O类:RandomAccessFile9public int skipBytes(int n) 将读取位置跳过n个字节 close() 关闭文件 long length() 取文件长度 写文件 writeInt(int v) 写一个整型数, 4个字节,高字节在前Java的输入输出 13

第10章 Java的网络编程TCP/IP体系结构使用URLURL概念编程TCP编程Socket与Datagram概念TCP编程

文件I/O类:RandomAccessFile9writeBoolean(boolean v) 写一个boolean值,一个字节,0或1 writeUTF(String str) 写一字符串,前两个字节标明字符串字节长度 读文件 byte readByte() 读取一字节 char readChar() 读取一字符(Unicode码2个字节) double readDouble() 读取一双精度数( 8个字节)Java的输入输出

第10章 Java的网络编程TCP/IP体系结构使用URLURL概念编程TCP编程Socket与Datagram概念TCP编程

文件I/O类:RandomAccessFile 9String readUTF() 读取一个字符串。 readLine() 读取以\n、\r、或者EOF终止的一行。然后该行所有 字节被转换成一个Unicode字符串,并返回字符串。

Java的输入输出

第10章 Java的网络编程TCP/IP体系结构使用URLURL概念编程TCP编程Socket与Datagram概念TCP编程

RandomAccessFile构造方法的例外: – IllegalArgumentException (not "r" or "rw") – FileNotFoundException – SecurityException 文件操作例外: – EOFException (IOException) 读到文件尾 – IOException 虽没有到文件尾,但读不到字符 – IOException 文件已关闭Java的输入输出

9

第10章 Java的网络编程TCP/IP体系结构使用URLURL概念编程TCP编程Socket与Datagram概念TCP编程

JAVA的输入/输出JAVA的输入/输出机制:流的概念 输入/输出流:java.io包中的标准类 – 两个基本抽象类: InputStream, OutputStream

9

基本类中定义了完成基本I/0操作的抽象方法 读写操作:read,write 关闭流的操作:close 送出并清空缓冲区数据的操作:flushJava的输入输出 17

第10章 Java的网络编程TCP/IP体系结构使用URLURL概念编程TCP编程Socket与Datagram概念TCP编程

JAVA系统标准输入/输出

9

用于基本系统操作的类System public final class ng.System extends ng.Object System类包含三个I/O流

成员用于系统标准输入 /输出 – public static InputStream System.in – public static PrintStream System.out – public static PrintStream System.errJava的输入输出 18

第10章 Java的网络编程TCP/IP体系结构使用URLURL概念编程TCP编程Socket与Datagram概念TCP编程

InputStream输入流

9

管理字节(适于读取面向字节的数据) 是所有表示输入字节流类的父类(抽象类) 三个基本方法: – abstract int read() 从输入流中读取一个字节。 – int read(byte[] b) 从输入流中读若干个字节到数组中。 – int read(byte[] b , int off , int len ) 从输入流中读len个字节到数组中。off是写入数组的 位置。Java的输入输出 19

第10章 Java的网络编程TCP/IP体系结构使用URLURL概念编程TCP编程Socket与Datagram概念TCP编程

InputStream输入流

9

skip(long n) 跳过n个字节。 boolean markSupported() 流是否支持mark功能 mark(int readlimit) 在当前位置做标记. reset() 回到最近一次做的标记处。 close() 关闭输入流,释放与此输入流相连的系 统资源。

Java的输入输出

第10章 Java的网络编程TCP/IP体系结构使用URLURL概念编程TCP编程Socket与Datagram概念TCP编程

InputStream输入流的子类

9

这些子类的构造方法都可以用某种方式指定其数据源。 加强输入流,对InputStream类进行功能扩充 ByteArrayInputStream( byte数组 ) FileInputStream(文件路径名 或 File对象) ObjectInputStream (Inputstream in) PipedInputStream (PipedOutputStream pipe) SequenceInputStream 表示其他输入串的逻辑连接 FilterInputStream(其他输入流)定义了子类对流的进 一步处理功能。 BufferedInputStream (InputStream in) DataInputStream(InputStream in) 各种数据读入 21 Java的输入输出

本文来源:https://www.bwwdw.com/article/9jr1.html

Top