Java I/O流常用类小结

发表于:2014-3-19 09:47

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:晓风well    来源:51Testing软件测试网采编

  File类
  File类是 IO 包中唯一代表磁盘文件本身的对象,File类定义了一些与平台无关的方法来操纵文件
  File f = new File("d:/test/1.txt");
  常用方法见 API
  delete 方法删除由File对象的路径所表示 对磁盘文件或目录。如果删除的对象是目录,该目录中的内容必须为空。
  节点流
  我们将IO流类分为两个大类,节点流类和过滤流类(也叫处理流类)。
  1. 程序用于直接操作目标设备所对应的类叫节点流类
  2. 程序也可以通过一个间接流类去调用结点流类,以达到更加灵活方便地读写各种类型的数据,这个间接流类就是过滤流类(也叫处理流类)
  InputStream 与 OutputStream (抽象类[字节流])
  程序可以从中连续 读取字节 的对象叫输入流,用InputStream类完成
int read() // 返回 -1 表示遇到流的末尾,结束
int read(byte[] b) //读入b.length个直接放入到b中并返回实际读入的字节数
int read(byte[] b,int off,int len)
void close() //关闭,通知系统释放与这个流相关的资源
  程序能向其中连续 写入字节 的对象叫输出流,用OutputStream类完成
void write(int b) //将一个直接写到输入流
void write(byte[] b) //将整个直接数组写到输出流中
void write(byte[] b,int off,int len) //
void flush() //彻底完成输出并清空缓冲区
void close() //关闭输出流
  这里的输入输出是针对程序而言的,而非文件。
  输入: 程序读取      输出:程序写出
  将A文件的内容写入文件B中:
  我们应该创建一个输入类来完成对A文件的操作,再创建一个输出类来完成对B文件的操作。
  FileInputStream 与 FileOutputStream
  这两个源节点用来操作磁盘文件,在创建一个FileInputStream对象时通过构造函数指定文件的路径和名字,当然这个文件应当是存在的和可读的。在创建一个FileOutputStream对象时指定文件如果存在将要被覆盖。
  只能用来读取字节或字节数组!!!因此字符串需要使用getBytes()方法转为字节数组。
  注:unicode是双字节的,而ASCII是单字节的。java中的字符默认使用unicode编码!
  编程实现利用FileOutputStream类向文件写入一串字符,并用FileInputStream读出:
public class FileStreamDemo {
public static void main(String[] args) {
File f = new File("Hello.txt");
//输出到文件中
try {
FileOutputStream out = new FileOutputStream(f);
byte buf[] = "hello,well".getBytes();//转成字节输出
out.write(buf);
out.close();
} catch (Exception e) {
e.printStackTrace();
}
//从文件中读出显示到屏幕上
try {
FileInputStream in = new FileInputStream(f);
byte[] buff = new byte[1024];
int len = in.read(buff);
System.out.println(new String(buff,0,len));
} catch (Exception e) {
e.printStackTrace();
}
}
}
31/3123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号