1、流的概念、 Java I/O流、 缓冲区、 管道、文件操作I/O 流 / 写单个字符 int write(char cbuf) ;/ 写字符数组 int write(char cbuf, int offset, int length) ; int write(String str) ; int write(String str, int offset, int length) ;void close( ) void flush( ) / 强行写标准数据流o在Java应用程序开始执行时,会自动创建3 个标准数据流,供System类使用: System.in、System.out和System.errnSystem.in对象:是InputStream类型的,是 连接程序与标准输入设备(通常是键盘)的一 个输入流对象,当执行System.in.read()操作 时,从键盘得到输入数据。nSystem.out对象:是PrintStream类型的,是 连接程序和标准输出设备(通常是显示器)的 一个输出流对象,当执行 System.out.println()语句时,数据输出到屏 幕上。nSyste
2、m.err对象:标准错误输出流。从键盘获取数据oSystem.in 是个已定义好的 InputStream 类型的对象,用以获取键盘输入。但其返回 的值是键盘的ASCII码值,须经转换才能显 示为字符。 BufferedReader buf= new BufferedReader(new InputStreamReader(System.in); try String str=buf.readLine();System.out.println(“从键盘输入的数据是:“ + str); catch (IOException e) e.printStackTrace(); 推荐的获取键盘输入的方式Java文件操作oJava 1.4后引入新的文件功能,提高了I/O性 能,但增加了复杂性。o新的I/O功能中涉及文件读写方面的有3个对象 :n文件流对象:FileInputStream、 FileOutputStream.n缓冲区对象:存放与文件进行传输的数据。n通道对象:连接文件,使用一个或多个缓冲区对象 以对文件进行读写。缓冲区对象通道对象文件流对象缓冲区(buffer)o缓冲区是内存中的一块
3、区域,用以缓存程序 与外设间交互的数据。oBuffer类是定义所以缓冲区类的基类,一个 特定的缓冲区可存储一组给定类的数据单元 ,例如存储byte型值、 char型值、 short型 值、 int型值、 long型值、 float型值、 double型值,但不能存储boolean型值。 java.lang.Objectjava.nio.BufferIntBufferShortBufferCharBufferByteBuffer.缓冲区o缓冲区的容量:缓冲区存储指定数据单元的最 大数,而不是存储的最大字节数。例如 IntBuffer型缓冲区容量是存储Int型数值的个 数。o缓冲区的位置:要读写的下一个缓冲区单元的 下标(首单元下标为0)。o缓冲区的边界:不能读写的第一个单元的下标 。缓冲区o创建缓冲区:ByteBuffer buf = ByteBuffer.allocate(1024);o向缓冲区写入数据:buf.put(bytes);/bytes是byte型数据buf.putChar();buf.putInt();.o从缓冲区读出数据:buf.put(bytes);/bytes是byt
4、e型数据buf.putChar();buf.putInt();.通道(channel)java.nio.channels.Channel接口WritableByteChannelReadableByteChannelByteChannel接口FileChannel类(FileChannel类不能直接实例化其对象,可从其它流类获得。)通道(channel)oFileChannel类不能直接实例化其对象,可 从其它流类获得。o通道使用完毕后,须关闭:调用其 close() 方法。关闭通道只是断开了同文件的连接, 并不影响所连接的文件。o通道关闭后则不能再传输数据。判断通道是 否处于打开状态,可使用方法isOpen()。文件oFile类主要用于获取磁盘中文件或目录的信 息。File类的对象并不打开文件,也不提供 任何文件处理功能。然而,java.io包中的 其它类经常使用File对象来指定所要操作的 文件或目录。File类的实例表示主机文件系 统中的文件名或路径名。oFile类提供4个构造函数npublic File(String name)npublic File(String pathT
5、oName,String name)npublic File(File directory,String name)npublic File(URI uri)文件oFile类提供了30多种方法以操作File对象:ngetName()/返回所关联的文件或目录的名称 ngetPath() ()/返回文件的路径 nisAbsolute() ()/是否是绝对路径 nlist() ()/返回目录下的所有目录和文件名 nisFile() ()/是否关联的是文件 nisDirectory() ()/是否关联的是目录 ndelete() ()/删除所关联的文件或目录 n文件流o当向磁盘上的物理文件读写数据时,可使用文件 流FileInputStream和FileOutputStream。o创建文件流对象(以写文件为例):nFileOutputStream outFile = new FileOutputStream (“myFile.txt”);nFileOutputStream outFile = new FileOutputStream (“myFile.txt”,true);文件操作o写文件的示例程序:WriteFile.javao读文件的示例程序:ReadFile.javao复制文件的示例程序:CopyFile.java
《java io流及文件操作》由会员第***分享,可在线阅读,更多相关《java io流及文件操作》请在金锄头文库上搜索。