IO流

字节流:

字节输入流:

InputStream类

API:

方法返回值说明
read()int从输入流中读取下一个字节,返回0~255范围内的int字节值。如果因为已经到达流末尾而没有可用的字节,返回-1
read(byte[] b)int从输入流中读入一定长度的字节,并以整数的形式返回字节数
reset()void将输入指针返回到当前所做的标记处
mark()void在输入流的当前位置放置一个标记,readlimit参数告知此输入流在标记位置失效前允许读取的字节数
close()void关闭此输入流并释放与该流关联的所有系统资源

InputStream类中所有方法遇到错误时都会引发IOException异常,其中skip()、mark()、reset()等方法只对某些子类有用。

字节输出流:

OutputStream类

API:

方法说明
write(int b)将指定字节写入此输出流
write(byte[] b)将b个字节从指定的byte数组写入此输入流
write(byte[] b,int off,int len)将指定byte数组中从偏移量off开始的len个字节写入此输入流
flush()彻底完成输出并清空缓冲区
close()关闭输出流

OutputStream类中的所有方法均返回void,在遇到错误时会引发IOException异常

字符流:

字符输入流

Reader

Reader类中的方法与InputStream类中的方法类似,不同的是:

方法说明
read(char[] c)从输入流中读入一定长度的字节
ready()判断是否准备读取流,返回值是boolean类型

字符输出流:

Writer

API:

方法说明
append(char c)将指定字符添加到此writer
append(CharSequence c)将指定字符序列添加到此writer
append(CharSequence c,int start,int end)将指定字符序列的子序列添加到此writer
write(char[] c)写入字符数组
write(char[] c,int off,int len)写入字符数组的某一部分
write(int c)写入单个字符
write(String str)写入字符串
write(String str,int off,int len)写入字符串的某一部分

File类

java.io.File
创建File对象,常用:new File(String pathName)

File file = new File("d:/1.txt");

Windows下包含盘符的路径名前缀由驱动器号和一个“:”组成,文件分隔符可以是“/”,也可以是“\”(即“/”的转义字符)

操作文件

方法返回值说明
canRead()boolean判断文件是否可读
canWrite()boolean判断文件是否可被写入
createrNewFile()boolean不存在指定名称的文件时,创建一个新的文件
delete()boolean删除指定的文件或文件夹
exists()boolean判断文件是否存在
getName()String获取文件或文件夹的名称
getParent()String获取文件的父路径
getPath()String获取文件路径名
length()long获取文件长度(以字节为长度)
isFile()boolean判断是不是一个文件
isHidden()boolean判读文件是否是隐藏文件
lastModified()long获取文件最后修改时间
setLastModified(long time)boolean设置文件或文件夹的最后一次修改时间
renameTo(File newname)boolean重命名文件
setReadOnly()boolean将文件或文件夹设置为只读

操作文件夹

API:

方法返回值说明
isDirectory()boolean判断是不是文件夹
mkdir()boolean创建此抽象路径名指定的目录
mkdirs()boolean创建此抽象路径名指定的目录,包括所有必需但不存在的父目录
list()String[]返回字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录
list(FilenameFilter filter)String[]返回字符串数组,这些字符串指定此抽象路径名表示的目录中满足指定过滤器的文件和目录
listFiles()File[]返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件
listFiles(FileFilter filter)File[]返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录
listFiles(FilenameFilter filter)File[]返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的的文件和目录

文件输入输出流

字节文件输入流FileInputStream

字节文件输出流FileOutputStream

直接上代码吧,不想写了~

实现在指定文件里写内容,读到控制台:

public class IOTest {
	public static void main(String[] args) {
		File file = new File("word.txt");
		try {
			FileOutputStream out = new FileOutputStream(file);
			String content = "hello,你好!!!";
			byte[] b = content.getBytes();
			out.write(b);
			out.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
		try {
			FileInputStream in = new FileInputStream(file);
			byte[] byt = new byte[1024];
			int len = in.read(byt);
			System.out.println("word文件信息是:" + new String(byt, 0, len));
			in.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

console输出:
输出

new String处的源码记录一下:

   /**
     *
     * @param  bytes
     *         The bytes to be decoded into characters
     *
     * @param  offset
     *         The index of the first byte to decode
     *
     * @param  length
     *         The number of bytes to decode
     *
     * @throws  IndexOutOfBoundsException
     *          If the {@code offset} and the {@code length} arguments index
     *          characters outside the bounds of the {@code bytes} array
     *
     * @since  JDK1.1
     */
    public String(byte bytes[], int offset, int length) {
        checkBounds(bytes, offset, length);
        this.value = StringCoding.decode(bytes, offset, length);
    }

字符文件输入流FileReader

字符文件输出流FileWriter

带缓冲的输入输出流(高效流)

BufferedInputStream

BufferedOutputStream

MultipartFile

未完。。。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值