IO流_1_File+IO介绍+IO分类

3 篇文章 0 订阅

目录

1:File类

1.1:File类的常用方法

1、文件属性

2、文件的操作

3、文件的过滤

2:IO流

1:流的分类

按数据传输单位分:

2:IO流的分类

3、总结

4、建议采纳


//编码:将文字转成字节数据

GBK:一个汉字两字节,字母一字节

utf-8:一个汉字三字节,字母一字节

//解码:将字节数组转成字符串数据

1:File类

1、 文件可认为是相关记录或放在一起的数据的集合。文件一般存放在存储介质上:硬盘、u盘、光盘、软盘、云盘等。(云管段)

2、 java.io.File 类是专门对文件进行操作的类。(只能对文件本身进行操作,不能对文件内容操作)

3、 File类是“文件和目录路径名的抽象表示”。而不是指文件的内容。

4、 File类定义了一些与平台无关的方法操作,如:创建、删除文件和重命名等。

5、 Java中目录被看成是一个特殊的文件。List()方法可以返回目录中所有的子目录和文件。

6、 在linux下路径分隔符为(/),而在windos中则是为(\),在java中可以正确的处理不同系统中的分隔符。

1.1:File类的常用方法

File file = new File("D:\java\Java高级\myfile\a.txt");

1、文件属性

package cn.sz.gl.test05;
import java.io.File;
public class Test {
public static void main(String[] args) {
    //新建对象
	File file = new File("D:\\java\\Java高级\\myfile\\a.txt");
    //分隔符
	System.out.println("file.separator:"+file.separator);
	System.out.println("file.exists(),判断对象所对应的目录或文件是否存在:"+file.exists());
	System.out.println("判断对象是否是一个目录(file.isDirectory()):"+file.isDirectory());
	System.out.println("判断是否是一个文件(file.isFile()):"+file.isFile());
	System.out.println("判断是否是隐藏文件或目录(file.isHidden()):"+file.isHidden());
	System.out.println("最后修改时间(file.lastModified()):"+file.lastModified());
	System.out.println("文件长度(以字节为单位):"+file.length());
	System.out.println("获取文件名字:"+file.getName());
	System.out.println("获取文件路径:"+file.getPath());
}
}

2、文件的操作

package cn.sz.gl.test05;

import java.io.File;

public class Test {

	public static void main(String[] args) {
		File file = new File("D:\\java\\Java高级\\myfile");
        //可以创建文件对象的上一级目录
		boolean bool = file.mkdir();
        //判断路径是否存在,如果不存在,就创建对应目录(多级)
		boolean morebool = file.mkdirs();
		//boolean isDelete = file.delete();
		//System.out.println("是否删除成功:"+isDelete);
		if(file.isDirectory()){
            //得到目录下所有的直接子目录和文件
			File [] allfile = file.listFiles();
			for (int i = 0; i < allfile.length; i++) {
				System.out.println(allfile[i].getPath());
			}
		}else{
			System.out.println("不是一个目录");
		}

	}
}

3、文件的过滤

package cn.sz.gl.test05;

import java.io.File;
import java.io.FileFilter;

public class Test {

	public static void main(String[] args) {
		File file = new File("D:\\java\\Java高级\\myfile");
		// 判断是否是一个目录
		if (file.isDirectory()) {
			File[] all = file.listFiles(new FileFilter() {
				@Override
				public boolean accept(File myfile) {
					// 判断是否是一个目录,是就通过
					if (myfile.isDirectory()) {
						return true;
					}
					// 判断文件是否是以.txt结尾的,是就通过
					if (myfile.getName().endsWith(".txt")) {
						return true;
					}
					return false;
				}
			});
			for (int i = 0; i < all.length; i++) {
				System.out.println(all[i].getPath());
			}
		}

	}
}

2:IO流

IO流:输入输出流。 统称为数据流(IO Stream)------IO指的是Input/Output,

在Java程序中,对于数据的输入 / 输出操作以流的方式进行;流是从起源到接收的有序数据。JDK提供了各种各样的流类,用以获取不同种类的数据;

1:流的分类

按数据传输单位分:

◦ 字节流:以字节为单位传输数据的流

◦ 字符流:以字符为单位传输数据的流

字节 (Byte)是计量单位,表示数据量多少,是计算机信息技术用于计量存储容量的一种计量单位,通常情况下一字节等于八位。. 字符 (Character)计算机中使用的字母、数字、字和符号,比如'A'、'B'、'$'、'&'

一般在英文状态下一个字母或字符占用一个字节,一个汉字用两个字节表示

流:是对一个已存在的流的连接和封装,通过对数据的处理为程序提供更强大、灵活的读写功能。

2:IO流的分类

分类字节输出流字节输入流字符输出流字符输入流
抽象基类OutputStreamInputStreamWriterReader
访问文件FileOutputStreamFileInputStreamFileWriterFileReader
访问数组ByteArrayOutputStreamByteArrayInputStreamCharArrayWriterCharArrayReader
访问管道PipedOutputStreamPipedInputStreamPipedWriterPipedReader
访问字符串StringWriterStringReader
缓冲流BufferedOutputStreamBufferedInputStreamBufferedWriterBufferedReader
转换流OutputStreamWriterInputStreamReader
对象流ObjectOutputStreamObjectInputStream
抽象基类FilterOutputStreamFilterInputStreamFilterWriterFilterReader
打印流PrintStreamPrintWriter
推回输入流PushbackInputStreamPushbackReader
特殊流DataOutputStreamDataInputStream

3、总结

IO流是数据输入输出的一种通道,我们可以利用不同的流去拿到文件中的数据和将数据写入文件中

其中包含多种流:最为常用的是InputStream/OutputStream,Reader/Writer以及打印流PrintStream/PrintWriter

4、建议采纳

如有建议或者错误请私信我进行修改,感谢!!!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值