IO输入输出流

来源:互联网 发布:手机淘宝类目怎么写 编辑:程序博客网 时间:2024/06/05 22:59

一、

Input 输入 Output 输出

数据从外界进入程序叫做输入 数据从程序流向外界叫做输出

二、文件的操作

文件的增删该查

1.文件创建

File file = newFile("c:\\io\\HelloIO.txt")

boolean flag = file.createNewFile();

创建成功返回true 创建失败返回false

2.创建目录

File fileDirection = newFile("c:\\io\\aaa");

boolean flagDirection =fileDirection.mkdir();//只能创建一级目录

File fileDirection = newFile("c:\\io\\aaa");

boolean flagDirection =fileDirection.mkdirs();//可以创建多级目录

3.删除

删除可以删文件也可以删文件夹,删文件可以直接删除,删文件夹的时候文件夹必须是空的才可以删除!

三、path分隔符和路径分隔符

1.path分隔符 、路径分隔符

2.可以通过File.pathSeparator判断操作系统的类型根据结果写不同的代码

public class TestSeparator {public static void main(String[] args) {//可以通过File.pathSeparator 判断操作系统的类型 根据结果 写不同的代码// (Windows上为; Linux上为:)System.out.println("path分隔符:(String类型)" + File.pathSeparator);// (Windows上为;Linux上为:)System.out.println("path分隔符:(char类型)" + File.pathSeparatorChar);// (Windows上为\ Linux上为/)System.out.println("路径层次分隔符:(String类型)" + File.separator);// (Windows上为\ Linux上为/)System.out.println("路径层次分隔符:(char类型)" +File.separatorChar); }}

3.文件常用方法

  System.out.println("相对路径: " + f.getPath());//返回相对路径 IO\aaa\HelloIO.txt     System.out.println("绝对路径: " +  f.getAbsolutePath());//返回绝对路径 C:\huanghuaiWorkSpace\HuangHuaiBk\IO\aaa\HelloIO.txt     System.out.println("文件是否存在: " + f.exists());//文件是否存在     System.out.println("是否可写: " + f.canWrite());//文件是否可写     System.out.println("文件是否可读: " + f.canRead());//文件是否可读     System.out.println("是否为文件: " + f.isFile());//是否为文件     System.out.println("是否是目录: " + f.isDirectory());//是否是目录            System.out.println("文件的最后修改日期: " + f.lastModified());// 文件的最后修改日期

四:读文件

IO流的分类

1.数据流向分:输入和输出

2.每次存取单位:字节流、字符流

3.按是否和数据源相连:节点流、包装流

4.read() 从此输入流中读取一个数据字节

 read(byte[]b)从此输入流中将最多b.length个字节的数据读入一个byte数组中

read(byte[]b,int off,int len)从此输入流中将最多len个字节的数据读入一个byte数组中

5.字符读

6.查看平台的默认编码集

System.out.println(System.getProperty("file.encoding"));//打印平台的默认字符编码集

7.为什么字符读中会出现中文乱码?

因为中文占两个字节(gbk)、utf-8编码一个中文占三个字节,这样每次只读一个字节,只读了一个字的一部分,肯定乱码

五、写文件(修改)

void write(byte[]b)将b.length个字节从指定byte数组写入此文件输出流中

void write(byte[]b,intoff,int len)将指定byte数组中从偏移值off开始的len个字节写入此文件输出流

void write(int b)将指定文件写入此文件输出流

 

 

 

 

 

 


 

 

 

 

 

原创粉丝点击