输入输出

File类

file类能新建、删除、重命名文件和目录,如果要访问文件内容本身,则需要使用输入输入流。

输入输出流

Java的输入流主要由InputStream和Reader作为基类,而输出流主要由OutputStream和Writer作为基类,他们都是一些抽象基类无法直接创建实例。JavaIO的40多个类都是由以上四个基类派生出来的。
InputStream和Reader分别有一个用于读取文件的输入流:FileInputStream和FileReader

字节流和字符流

,他们都是节点流——会直接和指定文件关联
字节流主要由InputStream和OutputStream作为基类,字符流主要由Writer和Reader作为基类

File file = new File("demo.dat");
FileInputStream fis
= new FileInputStream(file);//创建一个用于读取demo.dat文件的输入流
FileInputStream(String name):
创建用于读取给定的文件系统中的路径名name所指定的文件的FIS
例如
FileInputStream fis
//创建一个用于读取demo.dat文件的输入流
= new FileInputStream("demo");

1

字节流和字符流都是节点流,他们构造的时候传入的是一个物理节点(文件名或者文件目录)。可以使用处理流来包装节点流,处理流的两个优点:1.处理流输入输出操作简单,使用处理流效率更高。构造处理流时传入的是一个节点流。
区别处理流和节点流:只要流的构造器参数不是一个物理节点,而是已经存在的流,那么这种流就是处理流,而所有节点流都是以物理IO节点作为构造器参数的。

2转换流

用于实现将字节流转换成字符流:InputStreamReader和OutputStreamWriter

重定向标准输入输出

Java的标准输入输出分别通过system.in和System.out来代表,默认情况下他们分别代表键盘和显示器
system类里提供了如下三个重定向标准输入输出方法:
static void setErr (PrintStream err); static void setIn (InputStream in); static void setOut (PrintStream out);

用法举例

try(PrintStream ps = new PrintSream (new FileOutputStream ("out.txt"))) { System.setOut (ps); } catch (IOException ex) { ex.printStackTrace(); }

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.流的分类 (1)输入输出流输入输出是针对程序运行的内存而言的输入流的基类:InputStream,Reader...
    ql2012jz阅读 3,663评论 0 3
  • 转载至“http://segmentfault.com/a/1190000003817055?utm_source...
    Leon_hy阅读 4,847评论 0 13
  • Java输入输出流(一)# Android 是基于 Java 语言编写的,在安卓程序的很多时候会用到有关 I/O ...
    梁加盐阅读 5,292评论 0 4
  • 引言 对程序语言设计者来说,设计一个令人满意的I/O(输入输出)系统,是件极艰巨的任务,摘自《Thinking i...
    起个名忒难阅读 3,911评论 0 1
  • 惊慌的意识到今晚是一年中最长的一夜惊慌的意识到今晚是一年里最难熬的一夜 我的拖鞋断了,古书说破鞋是破邪之意然而我不...
    当我在白天阅读 1,652评论 0 0

友情链接更多精彩内容