西南科技大学网络教育系列课程 高级语程序设计(Java) 第九章 输入/输出流.

Slides:



Advertisements
Similar presentations
主要内容 Java 的常用包 Java 的常用包 “ == ” 和 “ equals ” 的用法 “ == ” 和 “ equals ” 的用法 基本数据类型与引用类型 基本数据类型与引用类型 String 和 StringBuffer String 和 StringBuffer 对象的克隆( clone.
Advertisements

单元二:面向对象程序设计 任务二:借书卡程序设计.
第四章 类、对象和接口.
3.2 Java的类 Java 类库的概念 语言规则——程序的书写规范 Java语言 类库——已有的有特定功能的Java程序模块
JAVA 编 程 技 术 主编 贾振华 2010年1月.
项目6 通用堆栈.
檔案處理.
Java的程式架構與基本觀念 Java語言的歷史 Java程式的開發環境 Java程式的架構 輸出與輸入物件之使用 工具使用方法介紹
第五章 字符串.
南京理工大学 第2章 Java基本语法 本章我们将学习Java编程语言的基本语法,包括变量、操作符、表达式、语句、字符串、数组、控制流以及如何使用帮助文档。 使用下面的编程框架: public class Test{ public static void main(String []args){ //以下添加测试代码.
視窗程式設計 2. 視窗版面配置 Chih Hung Wang Reference:
第二章 JAVA语言基础.
例外與檔案處理 例外處理 拋出例外 串流 Stream FileReader、FileWriter
Java Programming Spring, 2013
輸入輸出 學習目標 瞭解串流與輸入輸出的關係 認識InputStream、OutputStream繼承架構
创意源自激情,技术成就梦想 畅翼创新俱乐部 2012年春俱乐部第三次技术培训 赵程.
目标 运用File类进行文件操作 理解流,标准输入/输出流的概念
Chin-Yi Tsai Java Chin-Yi Tsai
第7章 输入输出处理.
JAVA 网络编程基础.
2.1 基本資料型別 2.2 變數 2.3 運算式與運算子 2.4 輸出與輸入資料 2.5 資料型別轉換 2.6 實例
第5章 面向对象程序设计 本章要点 5.1 面向对象程序设计概述 5.2 Java语言的面向对象程序设计 5.3 方法的使用和对象数组
API设计实例分析 通用IO API.
Java语言程序设计 清华大学出版社 第9章 网络通信.
常用工具类.
Java 第28讲:建立删除文件 主讲教师:李焱 讲师.
Visual Basic 程序设计 第12章文件处理
Java语言程序设计 第七部分 多线程.
Java基础 JavaSE异常.
2018/11/20 第一章 Java概述 武汉大学计算机学院计算机应用系 2018/11/20 14:33.
副程式概念與 檔案存取 函式與傳值 重構觀念 串流資料 檔案資料存取.
Multithread 多執行緒 I/O Lecturer:楊昌樺.
JAVA 程式設計與資料結構 第六章 輸出與輸入.
JAVA 编 程 技 术 主编 贾振华 2010年1月.
本單元介紹何謂變數,及說明變數的宣告方式。
西南科技大学网络教育系列课程 高级语程序设计(Java) 第五章 继承、接口与范型.
程式設計實作.
第四章 基本輸出入 Java應用程式的輸出入介面有三種,分別是命令提示字元視窗、AWT元件、及Swing元件。本單元先介紹命令提示字元視窗,AWT請看第16、17章,Swing請看第20章。 輸入 輸出.
抽象类 File类 String类 StringBuffer类
Java程序设计 第18章 二进制I/O.
第六讲 JSP中的文件操作(2) 教学目的 本讲继续讲述JSP中使用Java输入、输出流实现文件的读写操作 。 1 文件上传 2 文件下载
第10章 儲存偏好設定、檔案與資料庫 10-1 存取偏好設定 10-2 檔案存取 10-3 關聯式資料庫與SQLite
第七章 输入/输出 标准输入输出 流式I/O基础 文件 随机存取文件 对象输入/输出流.
第12章 JSP的檔案與電子郵件處理 12-1 伺服端的檔案處理 12-2 伺服端檔案的讀取與寫入 12-3 客戶端的檔案上傳
王豐緒 銘傳大學資訊工程學系 問題:JAVA 物件檔輸出入.
第11章 Java数据流 [内容提要] 大部分程序都需要数据的输入和输出, 从键盘读取数据, 向文件写入数据或从文件获取数据,
文件流. 文件流 文件流 Stream FileStream BufferedStream MemoryStream NetworkStream …… 所有流的抽象 Stream FileStream BufferedStream MemoryStream NetworkStream ……
3.1 数据类型 3.2 标识符与关键字 3.3 常量 3.4 变量 3.5 运算符与表达式 3.6 一个编程实例
第 十二 章 C# 中的文件处理.
Java程序设计 第2章 基本数据类型及操作.
Ch02-基礎語法.
第五讲 JSP中的文件操作(1) 教学目的 本讲主要讲述JSP中使用Java输入、输出流实现文件的读写 操作 。 知识要点
4.2通讯服务模块线程之间传递信息 信息工程系 向模军 Tel: QQ:
第二章Java基本程序设计.
Java變數 2014/6/24.
Ch17 SharedPreference與檔案應用
第二章 Java基本语法 讲师:复凡.
Java程式初體驗大綱 大綱 在學程式之前及本書常用名詞解釋 Hello Java!程式 在Dos下編譯、執行程式
第二章 Java语法基础.
第二章 类型、对象、运算符和表达式.
Review 1~3.
第二章 Java基本语法 讲师:复凡.
Class 2005/05/25.
JAVA 程式設計與資料結構 第三章 物件的設計.
變數、資料型態、運算子.
第2章 Java语言基础.
PPT注意事项: 当前PPT课件文件必须和提供的源代码文件夹“代码”在同一目录中即不要移动文件夹“代码”的默认位置。
第 5 章 常用类的使用 伍孝金
第二章 Java基础语法 北京传智播客教育
9 输入输出及文件操作.
Presentation transcript:

西南科技大学网络教育系列课程 高级语程序设计(Java) 第九章 输入/输出流

文 件 构造方法 java.io包中的File类提供了获得文件基本信息及文件操作的方法。 File(String filename); File(String directoryPath,String filename); File(File f, String filename); File file1 = new File(test.txt); File file2 = new File(“e:/java“,”test.txt”); File file3 = new File(“e:/java”); File file4 = new File(file2,"test.txt");

public boolean canWrite():判断文件是否可被写入。 public boolean exits():判断文件是否存在。 File类的常用方法 文件的属性 public boolean canRead():判断文件是否是可读的。 public boolean canWrite():判断文件是否可被写入。 public boolean exits():判断文件是否存在。 public boolean isFile():判断文件是否是一个正常文件,而不是目录。 public boolean isDirectroy():判断文件是否是一个目录。

public String getPath():得到文件的路径名。 获取文件的名称、路径 public String getName():获取文件的名字。 public String getPath():得到文件的路径名。 public String getAbsolutePath():得到文件的绝对路径名。 public String getParent():得到文件的上一级目录名。 获取文件处理信息 public long length(): 获取文件的长度(单位是字节)。 public long lastModified():获取文件最后修改时间。 public boolean delete():删除文件。

目录操作 创建目录: 列出目录中的文件 在目录中创建文件 public boolean mkdir() public String[ ] list() public File[ ] listFiles() 在目录中创建文件 public boolean createNewFile() File file2 = new File("e:/java"); File file1 = new File(file2,"test.txt"); file2.mkdir(); file1.createNewFile(); String[ ] files = file2.list(); for(int i = 0;i<files.length;i++) System.out.print(files[i]); File[ ] files = file2.listFiles(); for(int i = 0;i<files.length;i++) System.out.println(files[i].getName()+"\t"+ files[i].length());

要执行一个本地机上的可执行文件,可以使用java.lang包中的Runtime类提供的方法。 运行可执行文件 要执行一个本地机上的可执行文件,可以使用java.lang包中的Runtime类提供的方法。 Runtime对象的创建 Runtime ec; ec = Runtime.getRuntime(); 可执行文件的执行 public Process exec(String command) throws IOException Runtime ce = Runtime.getRuntime(); File file = new File("c:/windows","Notepad.exe"); ce.exec(file.getAbsolutePath());

Java约定是用UNIX和URL风格的斜线(/)来作路径分隔符;如果用Windows/DOS所使用的反斜线( \ )的约定,则需要在字符串内使用它的转义序列( \\ )。

流的基本概念 流的基本概念 流是指在计算机的输入输出之间运动的数据序列,分为输入流和输出流。 流都有自己的起点和终点,并且是顺序的。 流式输入输出的特点 每个数据都必须等待排在它前面的数据读入或送出之后才能被读写。 每次读写操作处理的都是序列中剩余的未读写数据中的第一个,而不能随意选择输入输出的位置。

流的类结构 流的实现是在java.io包的类层次结构上。 以四个顶层抽象类为基础,衍生出系列具体的类,来完成各种输入/输出。 InputStream,OutputStream:用于字节的读/写。 Reader,Writer:用于文本(字符)的读/写。 实际使用的是它们的子类的对象。

流的基本类型 文件流 FileInputStream, FileOutputStream FileReader,FileWriter 缓冲流 BufferedReader,BufferedWriter 数据流 DataInputStream, DataOutputStream 管道流 PipedInputStream,PepedOutputStream 对象流 ObjectInputStream, ObjectOutputStream

文件字节流 FileInputStream类 从InputStream中派生出来,其所有方法都从InputStream类继承而来。 基本操作步骤:1>建立文件的输入流对象 2>从输入流中读取字节 3>关闭流 常用构造方法 public FileInputStream(String name) public FileInputStream(File file) 均会抛出FileNotFoundException异常 构造方法参数指定的文件称作输入流的源

文件字节流的读取 read方法给程序提供从输入流中读取数据的基本方法。 read方法的格式 public int read() throws IOException 从输入流中顺序读取单个字节的数据 public int read(byte b[ ]) throws IOException public int read(byte b[ ], int off, int len) throws IOException 把多个字节读到一个字节数组中 read方法将顺序读取流,直到流的末尾或流被关闭(close()方法)

FileOutputStream类 从OutputStream中派生出来,其所有方法都从OutputStream类继承来的。 基本操作步骤:1>建立文件的输出流对象 2>向输出流中写字节 3>关闭流 常用构造方法 public FileOutputStream(String name) public FileOutputStream(File file) 均会抛出FileNotFoundException异常

public void write(byte b[ ]) throws IOException 文件字节流的输出 write方法把字节发送给输出流 write方法的格式 public void write(byte b[ ]) throws IOException public void write(byte b[ ], int off, int len) throws IOException write方法将顺序地写文件,直到流的末尾或流被关闭(close()方法) 如果输出流要写入数据的文件已经存在,该文件中的数据内容就会被刷新;如果要写入数据的文件不存在,该文件就会被建立。

文件字符流 FileReader类 从InputStreamReader中派生出来,其所有方法都从InputStreamReader类和Reader类继承而来。 基本操作步骤:1>建立文件的输出流对象 2>向输出流中写字符 3>关闭字符流 常用构造方法 public FileReader(String name) public FileReader (File file) 均会抛出FileNotFoundException异常 构造方法参数指定的文件称作输入流的源

read方法给程序提供从输入流中读取数据的基本方法。 文件字符流的读取 read方法给程序提供从输入流中读取数据的基本方法。 read方法的格式 public int read() throws IOException 从源中顺序读取一个字符 public int read(byte b[ ]) throws IOException public int read(byte b[ ], int off, int len) throws IOException 把多个字节读到一个字节数组中

FileWriter类 从OutputStreamReader中派生出来,其所有方法都从OutputStreamReader类和Writer类继承而来。 基本操作步骤:1>建立文件的输出流对象 2>向输出流中写字符 3>关闭字符流 常用构造方法 public FileWriter(String name) public FileWriter(File file) 均会抛出FileNotFoundException异常

public void write(char b[ ]) throws IOException 文件字符流的输出 write方法给程序提供把字符数据写入到输出流的基本方法。 write方法的格式 public void write(char b[ ]) throws IOException public int write(char b[ ], int off, int len) throws IOException public int write(String str) throws IOException public int write(String str, int off, int len) throws IOException

任何Reader流都可以用来包装成缓冲流 BufferedReader类 Reader类的直接子类 任何Reader流都可以用来包装成缓冲流 构造方法 public BufferedReader(Reader in,int sz) public BufferedReader(Reader in) BufferedReader对象的创建 先创建一个Reader子类的对象,然后使用这个对象来创建缓冲流对象。 FileReader inOne = new FileReader("Student.txt") BufferedReader inTwo = new BufferedReader(inOne);

public int read() throws IOException 读取一个字符 从缓冲区读取 缓冲流的读取 public int read() throws IOException 读取一个字符 public int readLn() throws IOException 读取一行文本 读取完毕后,最好调用close()方法关闭流。

public BufferedWriter (Writer in,int sz) 构造方法 public BufferedWriter (Writer in,int sz) public BufferedWriter(Reader in) BufferedWriter对象的创建 先创建一个Writer子类的对象,然后使用这个对象来创建缓冲流对象。 FileWriter outOne = new FileWriter("Student.txt") BufferedWriter outTwo = new BufferedWriter(outOne);

缓冲流的写入 public void write(String str) throws IOException 向缓冲区写入一个字符串。 public int writeLn(String str,int off,int len) throws IOException 向缓冲区写入一个字符串的一部分。 输出完毕后,最好调用close()方法关闭流。

数据流 DataInputStream类 数据流允许通过数据流来读写Java基本数据类型。 读取一个数值时,不必再关心这个数值应当是多少个字节。 DataInputStream类 DataInputStream的构造方法 DataInputStream(InputStream in)

数据流的读取 public final char readChar() throws IOException public final byte readByte() throws IOException public final short readShort() throws IOException public final int readInt() throws IOException public final long readLong() throws IOException public final float readFloat() throws IOException public final double readDouble() throws IOException public final boolean readBoolean() throws IOException public final String readUTF() throws IOException

DataOutputStream类 DataOutputStream的构造方法 DataOutputStream(OutputStream Out) 数据流的写入 public final void writeChar(String s) throws IOException public final void writeByte(int v) throws IOException public final void writeShort(int v) throws IOException

public final void WriteInt(int v) throws IOException public final void writeLong(long v) throws IOException public final void writeFloat(float v) throws IOException public final void writeDouble(double v) throws IOException public final void writeBoolean(boolean v) throws IOException public final void readUTF(String s) throws IOException

管道流 管道流主要用于线程间的通信,一个线程中的PipedInputStream对象从另一个线程中互补的PipedOutputStream对象中接收输入。 管道流必须同时具备可用的输入端和输出端。 PipedInputStream类的构造方法 PipedInputStream() PipedInputStream(PipedOutputStream src) PipedOutputStream类的构造方法 PipedOutputStream() PipedOutputStream(PipedInputStream snk)

管道流的输入输出 建立输入流 建立输出流 将输入流和输出流连接起来 对使用无参数的构造方法的情况下,需要使用方法:void connect(PipedOutputStream src)或void connect(PipedOutputStream src)。 使用有参数的构造方法时,输入流和输出流会自动地直接连接。

对象流 对象流主要用于把对象写入文件数据或从文件数据中读出。 ObjectInputStream类的构造方法 ObjectInputStream(InputStream in) ObjectOutputStream类的构造方法 ObjectOutputStream(OutputStream out) FileInpurtStream f1 = new FileInputStream(“f1.txt”); ObjectInputStream obj = new ObjectInputStream(f1);

使用对象流写入或读入对象时,要保证对象是序列化的。 把对象存为某种永久存储类型,称为序列化 实现java.io.Serializable接口。