第三章 输入输出

一、I/O

Input/Output

二、File

用途:对文件和目录进行常规操作(除文件读写操作外)。

方法:exists():判断文件或目录是否存在
isFile():判断是否是文件
isDirectory():判断是否是目录
creaetNewFile():创建文件
mkDir():创建目录
length():获取文件的大小
getAbsolutePath():获取绝对路径(目录名+文件名)
listFiles():获取目录下的所有子目录和文件
get...|set...操作文件的属性的方法

三、文件的读写操作

文件的读写操作通过流来实现。

流根据流向可以划分为:输入流(InputStream和Reader)、输出流(OutputStream和Writer)

流根据处理单元可以划分为:字节流(InputStream和OutputStream)、字符流(Writer和Reader)

字节流是8位通用字节流;字符流是16位Unicode字符流(中文占2个字节)。

流向以“内存”作为参照物。

输入输出 - 文件读写操作

四、IO类的层次关系

抽象类:InputStream(read、close、avilable)、OutputStream(write、close)、Reader(read、close)、Writer(write、close)

实现类:

InputStream OutputStream Reader Writer

FileInputStream(字节流) FileOutputStream InputStreamReader OutputStreamWriter

DataInputStream(二进制流) DataOutputStream FileReader FileWriter

ObjectInputStream(序列化) ObjectOutputStream BufferedReader BufferedWriter

八、其他

1.不同的操作系统文件路径分隔符是不一样的。

windows操作系统:c:\windows\test.txt c:/windows/test.txt
Linux操作系统:/book/book1.txt

推荐:以后在java中用到目录分隔符时,统一使用/。

2.在windows中,诸如c盘d盘等的官方名称:磁盘驱动器

3.每次在读写文件完毕后,一定要关闭流。

4.换行

windows平台:\r\n
Linux:\n

5.以字符流的方式读写文件时,会出现乱码问题。通过指定编码格式。

ASCII、GB2312、GBK、UTF-8

Java_IO流输入输出的更多相关文章

  1. Java I/O流输入输出,序列化,NIO,NIO.2

    Java IO流 File类: File类是java.io包下代表和平台无关的文件和目录,File不能访问文件内容本身. File类基本操作: System.out.println("判断文 ...

  2. Java_IO流_File类配合使用(其中用到了递归)

    第一:Java File类的功能非常强大,利用Java基本上可以对文件进行所有的操作.以下对Java File文件操作以及常用方法进行简单介绍 案例1:遍历出指定目录下的文件夹,并输出文件名 stat ...

  3. IO流-输入输出

    java的I/O技术可以将数据保存到文本.二进制.ZIP压缩文件中,下面来说说一些基本的常识(今天只讲理论).先来说说流,何为流?“流就是一组有序的数据序列,根据操作的类型,可以分为输入(Input) ...

  4. 呆呆的io流输入输出的一些基础

    关于io流的File类,下面来码一些基础属性: 文件的属性: /* public String getName() 获取文件的名字 public boolean canRead() 判断文件是否可以读 ...

  5. java_IO流小结

    字符流和字节流的主要区别: 1.字节流读取的时候,读到一个字节就返回一个字节:  字符流使用了字节流读到一个或多个字节(中文对应的字节数是两个,在UTF-8码表中是3个字节)时.先去查指定的编码表,将 ...

  6. java_IO流之 NIO

    NIO 定义 即新IO,在JDK1.4的java.nio.*包中引入,其目的在于提高速度. 在Java1.4之前的I/O系统中,提供的都是面向流的I/O系统,系统一次一个字节地处理数据,一个输入流产生 ...

  7. java_IO流

    IO流概述及分类 Reader  InputStream  OutputStream  Writer都是Object的直接子类 字节流: 字节输入流 InputStream(抽象类) |---File ...

  8. IO流-输入输出的简单实例

    InputStream和OutputStream 抽象类InputStream和OutputStream是IO流最底层的两个抽象类,所有输入/输出流的类都基于这两个类. 这两个类里最核心的三个方法是r ...

  9. Java_IO流_抽象类

    一.   概念 流动,从一端流向另一端,源头与目的地 以程序为中心,程序与 数组/文件/网络连接/数据库, 二.   io流分类 流向:输入流与输出流 数据 :字节楼:二进制,所有文件都可以操作,包括 ...

随机推荐

  1. c# 数据拼接成键值对格式

    public static object FindLayoutTypes() { //地鼓.地裂.墙裂.井水.泉水 var sb = new StringBuilder(); sb.Append(ge ...

  2. S 导入公司数据

    导入公司数据,使用INSERT [Public] ConnectString=host="siebel://10.10.0.46:2321/HC_CRM/SMObjMgr_chs Conne ...

  3. win10如和设置远程桌面

    最近几天一直在搞远程桌面问题,电脑一直连不上远程,今天终于出来了. 前提前提  条件,要电脑允许Administrator用户,先把电脑切换到那个用户,然后进行下面操作. 1.在桌面,我的电脑图标,鼠 ...

  4. 怎样在Windows与Centos下的Linux间共享文件,如果mnt文件夹不显示,可能是mnt缺少共享支持

    mnt中的hgfs文件夹就是Linux系统中挂载共享文件的默认文件夹.有的人按步骤共享之后mnt中没有出现共享的文件,可能是因为你的mnt缺少共享支持. 此时可以在Terminal中输入:sudo m ...

  5. java 主类的main方法调用其他方法

    方法1:A a=new test().new A(); 内部类对象通过外部类的实例对象调用其内部类构造方法产生,如下: public class test{ class A{ void fA(){ S ...

  6. 一些使用的linux库

    1.curl网络库 apt-get install libcurl4-openssl-dev sudo apt-get install curl 2.jsoncpp库 sudo apt-get ins ...

  7. 优秀前端工程师必备: 我要一个新窗口: js开新窗的2种姿势

    1.<a href="https://www.cnblogs.com/" title="博客园">当前页面打开博客园</a> js代码等 ...

  8. [Selenium With C#基础教程] Lesson-02 Web元素定位

    作者:Surpassme 来源:http://www.jianshu.com/p/cfd4ed1daabd 声明:本文为原创文章,如需转载请在文章页面明显位置给出原文链接,谢谢. 使用Selenium ...

  9. int *a[] 与(int *)a【5】的区别

    *a[5] 是指针数组  可以指向5个值 (*a)[5]  是一个指针,但这个指针只能指向包含5个元素的一维数组 a是一个数组,每个元素都是个指针. b是一个指针,指向一个数组 1.int *a[5] ...

  10. 转:css实现强制不换行/自动换行/强制换行

    css实现强制不换行/自动换行/强制换行 [日期:2007-08-22] 来源:  作者: [字体:大 中 小] 强制不换行 div{ white-space:nowrap;} 自动换行 div{  ...