第7章Java的输入输出PPT课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
}
14
7.2 流的综述
流可以被理解为一条“导管”
• 这条“导管”有两个端口:
– 一端与数据源(当输入数据时)或数据宿(当输出数据时) 相连
• Java语言中通过File类来建立与磁盘文件的联系。 • File类用来获取或设置文件或目录的属性,但不
支持从文件读取数据或者往文件里写数据。 • 文件是许多程序的基本数据源和数据宿,是保存
永久数据和共享信息的媒体。在Java中,目录也 被当作文件,可以用list方法列出目录中文件名。
8
创建文件对象有三种构造方法
3
输入输出方法
• System类管理标准输入输出流和错误流
System.out: 把输出送到缺省的显示(通常是显示器) System.in 从标准输入获取输入(通常是键盘) System.err 把错误信息送到缺省的显示
• 每当main方法被执行时,就自动生成上述三个 对象
4
输入输出方法举例
public class ReadHello
import java.io.*;
class {
public static void main(String args[ ]) {
System.out.println("Enter : ");
char c;
StringBuffer buf = new StringBuffer();
try {
while ((c = (char)System.in.read()) != '\n')
• ⑶ File构造方法三:
– public <pathname>) – 例如: – File(“c:\\yao-bin\\test.java”);

9
Flie类的常用方法表1
10
Flie类的常用方法表2
11
文件的其它操作
• 使用文件类获取文件的路径信息 • 设f是一个文件对象 • File(“data”,temp.dat”);
– f.getName():返回文件名 temp.dat – f.getParent():返回文件所在目录名 data – f.getPath():返回文件路径 data\temp.dat – f.getAbsolutePath():返回绝对路径 c:\myprog\data\temp.dat
12
例7-1:File类的方法
}
6
}
为什么输入的是字符,输出是乱码?
• 原因:System.out.println(bArray)输出的是数组 的地址而不是字符
• 改进???:将字符数组变换成字符串
• 原来是:System.out.println(bArray);
• 现在为:String s=new String(bArray,0);
⑴ File构造方法一:
– public <path>)
– public <directory>,String <>)
– 例如: File(“c:\\yao-bin”);

,“test.java”);
• ⑵ File构造方法二:
– public <path>,String <>) – 例如: – File(“c:\\yao-bin”,“test.java”);
}catch(IOException e)
{ Sytem.out.println(“Error reading from user”);
}
}
}
5
import java.io.*;
class IOTest
{ public statics void main(String args[])
{try { byte bArray[]=new byte[128];
{ public static void main(String args[])
{ char inchar;
System.out.println(“Enter a character:”);
try{ inChar=(char)System.in.read();
Syste.out.println(“ “+ inChar);
System.out.println(“Enter something:”);
System.in.read(bArray);
System.out.print(“You entered:”);
System.out.println(bArray);
}catch(IOException ioe)
{ System.out.println(ioe.toString()); }

System.out.println(s);
• System.in是属于BufferedInputStream类型
• System.out是属于PrintStream类型
• System.err也是属于PrintStream类型
7
7.1 文件类
java.io包中定义了一个File类来专门处理文件,并获 取文件的有关信息。
buf.append(c);
} catch (java.io.IOException e) {
System.out.println("Error:"+e.toString());
}
13
= new ().trim()); if (()) { System.out.println(":"+()); System.out.println("Path:"+()); System.out.println("Abs.Path:"+()); System.out.println("Writable:"+()); System.out.println("Readable:"+()); System.out.println("Length:"+(()) +"B"); } else System.out.println("Sorry, found."); }
第7章 Java的输入输出
1
I/O软件层
应用 程序

设备驱动程序

Байду номын сангаас

设备驱动程序
应用 程序
java.io 提供
I/O层 (类层)


设备驱动程序

I/O
设备驱动程序

应用
程序
OS
设备驱动程序
2
什么是数据流 ?
文件

程序

网络端点
文件,字符串 存储区
数据流
文件

程序

终端
网络端点
• 数据流是指所有的数据通信通道 • 在java中有关流的操作使用java.io.* • 出于安全的考虑,小应用不能实现文件I/O流
相关文档
最新文档