黑马程序员------毕老师视频笔记第18-21天------IO输入与输出(3)

本文探讨了ASP.NET与Unity的联合开发实践,介绍了.NET培训的重要性,并期待与开发者进行深入交流。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------

File类

用来将文件或者文件夹封装成对象,方便对文件和文件夹的属性进行操作。File对象可以作为参数传递给流的构造函数。

这时IO包中一个比较特殊也很重要的类。

流操作的是数据,数据最直观的表现就是文件,文件有自己的路径、名字、时间、大小等等的属性。对于这些很复杂的东西,Java的思想就是封装成对象。

流对象也可以操作文件,但是不能操作文件夹,也不能操作文件的属性。流对象只能操作数据,想要操作文件的属性,就要使用File对象进行操作。

 

File类常见方法:

1,创建。

         booleancreateNewFile():在指定位置创建文件,如果该文件已经存在,则不创建,返回false。和输出流不一样,输出流对象一建立创建文件,而且文件已经存在,会覆盖。

         booleanmkdir():创建文件夹。

         booleanmkdirs():创建多级文件夹。

2,删除。

         booleandelete():删除失败返回false。如果文件正在被使用,则删除不了返回falsel。

         voiddeleteOnExit();在程序退出时删除指定文件。

3,判断。

         booleanexists() :文件是否存在.

         isFile():是否是文件

         isDirectory();是否是目录

         isHidden();是否是隐藏文件

         isAbsolute();是否是绝对路径名

4,获取信息。

         getName():

         getPath():

         getParent():

         getAbsolutePath()

         longlastModified()

         longlength()

         renameTo()

 

打印流:字节打印流PrintStream、字符打印流PrintWriter

该留提供了打印方法,可以将各种数据类型的数据都原样打印

PrintStream构造

1.File对象,File

2.字符串路径,String

3.字节输出流,OutputStream

PrintWriter构造

1.File对象,File

2.字符串路径,String

3.字节输出流,OutputStream

4.字符输出流,Writer

PrintWriter更常用

 

序列流,SequenceInputStream,功能型的流对象

对多个流进行合并,其他输入流的逻辑串联,从输入流的有序集合开始,并从第一个输入流开始读取,直到文件的末尾,接着从第二个输入流开始,以此类推,直到到达包含的最后一个输入流的文件末尾。

SequenceInputStream(InputStream in1,InputStream in2)

 

操作对象,ObjectInputStream,ObjectOutputStream

直接操作对象的流。

对象序列化,实现Serializable接口,这个接口没有方法,没有方法的接口称之为标记接口

序列化与反序列化

序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据。

 

RandomAccessFile

随机访问文件,自身具备读写的方法

通过skipBytes(int x),seek(int x)来达到随机访问

 

管道流PipedInputStream,PipedOutputStream

输入流和输出流可以进行连接,结合线程使用

一般我们用输入流和输出流是没有关系的,中间需要一个中转站,如定义一个数组等

管道流可以直接将输入流和输出流接起来,管道输入流应该连接到管道输出流,管道输入流提供要写入管道输出流的所有数据字节。通常,数据由某个线程从 PipedInputStream 对象读取,并由其他线程将其写入到相应的 PipedOutputStream。不建议对这两个对象尝试使用单个线程,因为这样可能死锁线程。管道输入流包含一个缓冲区,可在缓冲区限定的范围内将读操作和写操作分离开。如果向连接管道输出流提供数据字节的线程不再存在,则认为该管道已损坏。

 

操作基本数据类型,DataInputStream,DataOutputStream

操作字节数组,ByteArrayInputStream,ByteArrayOutputStream

操作字符数组,CharArrayReader,CharArrayWriter

操作字符串,StringReader,StringWriter

 

转换流,InputStreamReader,OutPutStreamWriter

字符流的出现是为了方便操作字符,更重要的是加入了编码转换

这两个流可以加入编码表,(还有两个流可以加入编码表,PrintStream,PrintWriter,但是他们只能打印),使用编码表,常用转换流。

常见编码表:

ASCII:美国标准信息交换码,一个字节的7位表示

ISO8859-1:拉丁码表。用一个字节8位表示

GB2312:中国的中文编码表

GBK:中国的中文编码表升级,融入更多的中文文字符号

(中国的码表兼容ASCII码表,因为有拼音,中国的码表用两个字节,每个字节的最高位都是1)

Unicode:国际标准码,融合了多种文字

UFT-8:最多用3个字节来表示一个字符

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值