IO输入输出流

IO输入输出流

输入输出是以CPU为基准的,当数据从内存来到寄存器的时候叫做输入,从寄存器到内存的时候叫做输出。

文件

其实在操作系统中把很多的资源(软件资源/硬件资源)都抽象成文件.

文件夹也是属于文件,成为目录文件,是保存在硬盘上的。

在硬盘上,存在很多文件和目录.目录又存在一定的“嵌套关系”。

文件的分类方式,有很多种:

文本文件和二进制文件

文本数据是"字符串",每个部分都是"合法的字符",通过GBK或者UTF8等都可以编译出来。

区分一个文件是文本,还是二进制,非常关键编程处理的时候,处理方式(写的代码)是不同的

区分方法就是把文件内容,按照文本方式来理解。

路径

从根节点出发,发,一层一层往下走,最终到达目标文件之后,中间这些目录,集合在一起,就构成了“路径”。

绝对路径

以盘符开头的路径,也称为"绝对路径。

目录和目录之间,使用/或者\进行分割

相对路径

1.当前的基准(工作目录)是D:\program\qq\Bin直接通过./qq.exe的方式就能定位到或者文件。

2.                                       D:\program\qq                         ./Bin/qq.exe

3.                                       D:\program\qq                         ./Bin/qq.exe

4.                                        D:\program\qq\Bin\plugins      ../qq.exe  ../表示上一级目录

使用Java操作文件:

1. 针对文件系统进行操作

 创建文件,删除文件,创建目录,重命名文件

import java.io.File;
import java.io.IOException;

public class Test1 {
    public static void main(String[] args) throws IOException {
        File file=new File("./test1.txt");
        file.createNewFile();//创建文件
        System.out.println(file.getParent());//获取母目录
        System.out.println(file.getName());//获取名字   
        System.out.println(file.getAbsolutePath());//获取绝对路径
        System.out.println(file.getCanonicalPath());//获取美化的路径,可以将其化简
        System.out.println(file.getPath());//获取相对路径
        System.out.println(file.exists());//是否存在
        System.out.println(file.delete());//删除文件
        System.out.println(file.exists());//是否存在
    }
}

绝对路径=相对路径+./路径名(把当前的工作路径和相对路径进行简单的拼接).

创建文件啥时候会失败呢?

1)给出的路径非法

2)权限不足

 file.deleteOnExit();
        Scanner in=new Scanner(System.in);
        in.hasNextLine();
        System.out.println(file.exists());

 这个方法是在程序结束后在删除的方法。

有些程序,运行过程中,会产生"临时文件"就需要再进程结束之后,自动删除掉.

编辑word文档的时候,隐藏文件,就会实时记录当前你的编辑的内容是啥假设电脑突然掉电了,即使你没来得及保存,东西还能找回来~~

2.针对文件内容进行操作

读文件,写文件

Java中通过"流"的类,上述的文件内容操作

比如,要读取100字节的文件数据

可以一次读100字节也可以分两次,

每次读50字节还可以分10次,

每次读10字节还可以分100次,

每次读1字节

在Java中,用来操作文件内容的"流”是一组类
虽然提供的类很多,抓住核心的。

字节流(二进制文件)

InputStream

OutputStream

字符流(文本文件)

Reader

Writer

一个字符,是多个字节。

后面的用法,者都基本一样了,通过构造方法,打开文件通过read/write方法来读写文件通过close方法来关闭文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值