File类

构造函数:  FIle file = new File(path);

常用函数:

是否存在:  file.exists()

文件名: file.getName()

父目录: file.getParent()

=================================================================

FileInputStream 类

构造方法: InputStream is = new InputStream(File file)

常用方法:

len =  is.read(buffer,off,len);   ---> len = is.read(buffer);

b     the buffer into which the data is read.

@return     the total number of bytes read into the buffer, or -1

FileOutputStream 类

构造方法: OutputStream os = new FileOutputStream(File file)

常用方法:

os.write(buffer,0,len)

BufferedInputStream 添加了缓冲区的输入流

构造方法: BufferedInputStream bis = new BufferedInputStream(FileInputStream fis);

常用方法:

bis.read(buffer,0,len);

BufferedOutputStream bos 添加了缓冲区的输出流

构造方法: BufferedOutputStream bos = new BufferedOutputStream(FileOutputStream fos);

常见方法:

bos.write(buffer,0, len);

bos.flush()

bos.close();

前提 序列化与反序列化 要继承接口 java.io.Serializable;

ObjectInputStream  对象的输入流, 实现对象的反序列化。

构造方法:  ObjectInputStream bis = new ObjectInputStream(FileInputStream fis);

主要方法:

bis.readObect();

ObjectOutputStream 对象的输出流, 实现对象的序列化

构造方法:  ObjectOutputStream bos = new ObjectOutputStream(FileOutputStream fos);

主要方法:

bos.write(object obj);

============================================================================================================

字节流:

InputStreamReader  字符输入流,输入内存中时, 已经将字节装换成 unicode 16位的字符编码。  解决了乱码的问题

构造方法:InputStreamReader isr = new InputStreamReader( FileInputStream fis );

常用方法

len = isr.read(char [] buffer, int off, int len)

OutputStreamWriter 字符输出流。   char

构造方法:  OutputStreamWriter osw = new OutputStreamWriter(FileOutputStream fos);

osw.write(char[] cbuff,off,len);

osw.flush()

osw.close()

FileReader 类

构造方法:  FileReader fr = new FileReader( new File(path) )

常用方法:

fr.read(char[] buff, int off, int len);

FileWriter 类

构造方法: FileWriter fw = new FileWriter(new File(Path))

常用方法:

fr.write(char[] buff, int off, int len);

BufferedReader  类    filereader.readLine()  return String  每次读取一行。

Reader r = new FileReader(new File("d:/w.txt"));
BufferedReader bReader = new BufferedReader(r); //String str = bReader.readLine();
String str = null; while( ( str = bReader.readLine() ) != null ){
System.out.println(str);
}

bufferedWriter 类

Writer w = new FileWriter(new File("d:/w.txt"));
BufferedWriter bw = new BufferedWriter(w);
String s = "叙利亚\r\n利比亚\r\n中国\r\n";
bw.write(s, , s.length());
bw.close();

IO 流小记录的更多相关文章

  1. 在网络编程中的io流小问题

    在客户端和服务端调用io流进行传输数据的过程中,当将数据write到outputstream中,需要及时刷新,否则会发生io阻塞. 在输入数据的时候,最好选用BufferedReader,因为read ...

  2. IO流小笔记

    File file=new File ();括号里面写路径 exists()判断文件是否存在:isfile()是判断已经存在的文件是文件还是目录: mkdir()和createNewFile()区别在 ...

  3. IO流简要总结

    IO流小总结 IO流的本质就是用于数据的传输,根据流的方向的不同,有输入流.输出流.根据数据类型的不同,又有字节流.字符流. 字节流 字节输入流   InputStream 字节输出流   Outpu ...

  4. Java基础IO流(二)字节流小案例

    JAVA基础IO流(一)https://www.cnblogs.com/deepSleeping/p/9693601.html ①读取指定文件内容,按照16进制输出到控制台 其中,Integer.to ...

  5. 二十一、Java基础--------IO流之综合案例分析

    前三篇文章详细介绍了IO流体系所涉及的重点内容,为了帮助理解与学习,本片博客主要是分析一个与IO操作相关的题目. 例1:在我们观看视频时经常要关注的就是视频的时间长度,在学习了IO操作之后,就可以自己 ...

  6. 【JAVA IO流之字符流】

    一.概述. java对数据的操作是通过流的方式.java用于操作流的对象都在IO包中.流按照操作数据不同分为两种,字节流和字符流.流按照流向分为输入流,输出流. 输入输出的“入”和“出”是相当于内存来 ...

  7. JavaEE基础(二十)/IO流

    1.IO流(IO流概述及其分类) 1.概念 IO流用来处理设备之间的数据传输 Java对数据的操作是通过流的方式 Java用于操作流的类都在IO包中 流按流向分为两种:输入流,输出流. 流按操作类型分 ...

  8. day20<IO流>

    IO流(IO流概述及其分类) IO流(FileInputStream) IO流(read()方法返回值为什么是int) IO流(FileOutputStream) IO流(FileOutputStre ...

  9. IO流大总结

    - - - - - - - - - - - - - - - 写在前面 - - - - - - - - - - - - - - - 1.概念 IO流用来处理设备之间的数据传输 Java对数据的操作是通过 ...

随机推荐

  1. linux下查看端口占用

    1. lsof -i:端口号 用于查看某一端口的占用情况 需要注意的是,centos默认是没有安装lsof(list open files)的,需要手动安装 yum install lsof 各列代表 ...

  2. Swift 值类型和引用类型的内存管理

    1.内存分配 1.1 值类型的内存分配 在 Swift 中定长的值类型都是保存在栈上的,操作时不会涉及堆上的内存.变长的值类型(字符串.集合类型是可变长度的值类型)会分配堆内存. 这相当于一个 &qu ...

  3. 11G新特性 -- Statistics Preferences

    Statistics Preferences新特性可以实现对指定对象进行信息收集. 可以在table.schema.database.global级别设置statistics preference. ...

  4. 解决“错误为Lc.exe已退出,代码为-1”

    今天做项目的时候突然出现编译不通过,错误为Lc.exe已退出,代码为-1.网查了一下,原因是项目中使用了第三方组件(Developer Express v2011)造成的,分享如下:这个第三方组件是个 ...

  5. Atitit phpstorm配置attilax总结

    Atitit phpstorm配置attilax总结 1. 前期准备 1 1.1. 配置interpreter 1 1.2. debug需要xdebug的支持,不管是script模式还是web模式 3 ...

  6. [svc]runinit管理多进程

    runinit启动小程序测试 与Supervisord类似的工具包括monit, daemontools和runit. 我还发现个神器,专门针对单容器启动多进程的神器s6: https://githu ...

  7. 《转》vue更新到2.0之后vue-resource不在更新,axios的使用

    vue更新到2.0之后,作者就宣告不再对vue-resource更新,而是推荐的axios,前一段时间用了一下,现在说一下它的基本用法. 首先就是引入axios,如果你使用es6,只需要安装axios ...

  8. bootstrap 3.0 LESS源代码浅析(一)

    我一直以为Bootstrap的LESS源代码精髓在mixins.less,所以这个系列主要也是讲解mixins.less的. 什么是mixins? 混入,或者翻译成混合.官网的说法是:我们可以定义一些 ...

  9. Java、Linux、Win 快速生成指定大小的空文件

    Linux dd 命令: dd if=/dev/zero of=<fileName> bs=<一次复制的大小> count=<复制的次数> 生成 50 MB 的空文 ...

  10. Java知多少(21)this关键字详解

    this 关键字用来表示当前对象本身,或当前类的一个实例,通过 this 可以调用本对象的所有方法和属性.例如: public class Demo{ public int x = 10; publi ...