还剩27页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
流类库与输入输出流类库是Java中处理输入和输出的强大工具,它提供了抽象的、与平台无关的方式来处理数据流,简化了程序员的开发工作课程目标了解流的概念掌握流的概念,理解流的分类和应用场景掌握流操作学习使用Java流类库进行文件读写、数据处理和网络通信提高代码效率熟练运用流类库,提高代码可读性和效率,编写更简洁、优雅的代码什么是流连续数据流数据传输通道数据处理工具流是一种连续的数据序列,例如从文件、网流就像一条管道,用来传输数据,方便程序流提供了一套方法来处理数据,例如读取、络或设备中读取的数据读取或写入数据写入、过滤、转换等流的分类字节流字符流
1.
2.12字节流以字节为单位读写数据字符流以字符为单位读写数据,适用于各种数据类型,包括,主要用于处理文本数据,并文本、图像和音频等可以根据不同的字符编码进行转换标准流
3.3标准流是预定义的流,用于访问标准输入、标准输出和标准错误输入与输出流输入流输出流从数据源读取数据的流数据源可以是文件、网络、内存等向数据目标写入数据的流数据目标可以是文件、网络、内存等读取数据时,会将数据从数据源传输到程序写入数据时,会将数据从程序传输到数据目标和FileInputStreamFileOutputStream字节流文件操作FileInputStream和FileInputStream用于从文件中FileOutputStream是Java中用读取字节,而于处理字节流的两个核心类它FileOutputStream用于将字节们允许程序读取和写入原始字节写入文件它们提供方法来打开数据,例如文本、图像、音频和、关闭和读取/写入文件内容视频文件文件路径在使用这两个类时,您需要指定要访问的文件路径,可以是绝对路径或相对路径使用读取文件FileInputStream创建对象FileInputStream1使用FileInputStream类构造函数,传入要读取的文件路径,创建一个FileInputStream对象读取文件内容2使用FileInputStream对象的read方法读取文件内容,每次读取一个字节关闭FileInputStream3使用FileInputStream对象的close方法关闭文件流,释放资源使用写入文件FileOutputStream创建对象FileOutputStream1指定要写入的文件路径写入数据2使用write方法写入字节数据关闭流3调用close方法释放资源FileOutputStream类用于将数据写入文件FileOutputStream允许以字节流的形式向文件中写入数据文件读写模式读取模式写入模式
1.
2.12仅用于读取文件内容用于创建新文件或覆盖现有文件追加模式随机访问模式
3.
4.34用于将数据追加到现有文件末允许在文件任何位置读取和写尾入数据缓冲流和BufferedInputStreamBufferedOutputStreamBufferedInputStream BufferedOutputStreamBufferedInputStream是一种包装流,它使用缓冲区来提高读BufferedOutputStream是一种包装流,它使用缓冲区来提高写取数据的效率入数据的效率通过将数据读入缓冲区,可以减少对底层输入流的读取次数,从通过将数据写入缓冲区,可以减少对底层输出流的写入次数,从而提高读取速度而提高写入速度使用缓冲流读写文件缓冲流可以提高文件读写效率,尤其是在处理大量数据时缓冲流1提高效率创建缓冲流2包装基础流读写操作3使用缓冲区关闭缓冲流4释放资源缓冲流通过创建缓冲区来存储数据,避免频繁地与磁盘进行交互,从而提高了文件读写效率转换流和InputStreamReader OutputStreamWriter字节流与字符流转换流Java中的字节流处理字节数据,字符流处理字符数据转换流可以将字节流转换为字符流,反之亦然,方便进行文本数据的读写操作InputStreamReader OutputStreamWriter使用字节流读取文件,并将其转换为字符流使用字符流写入文件,并将其转换为字节流使用转换流读写文件编码转换转换流可以将字节流转换为字符流,反之亦然例如,InputStreamReader将字节流转换为字符流,OutputStreamWriter将字符流转换为字节流字符集转换流需要指定字符集例如,使用UTF-8字符集可以读取和写入各种语言的字符文件操作使用转换流可以读取和写入文本文件可以通过读取和写入字符来操作文本文件,而无需处理字节流数据流和DataInputStreamDataOutputStream数据流用于读写基本数据类型,如整数、浮点数、字符串等二进制DataInputStream和DataOutputStream以二进制格式读写数据数据传输常用于网络通信或文件存储中使用数据流读写基本数据类型DataInputStream1DataInputStream用于从输入流中读取基本数据类型,例如整型、浮点型、字符串等DataOutputStream2DataOutputStream用于将基本数据类型写入输出流读写示例3例如,使用DataInputStream读取一个整型值,可以使用readlnt方法使用DataOutputStream写入一个字符串,可以使用writeUTF方法标准输入输出流和System.in System.out键盘输入屏幕输出System.in代表标准输入流,通常来自键盘,用于接收用户输入System.out代表标准输出流,通常指向屏幕,用于显示程序输出信息使用标准输入输出流标准输入输出流是与程序交互的桥梁它们提供了一种简单的方式来接收用户输入并输出结果,是应用程序和用户交互的关键接口System.in1键盘输入System.out2控制台输出System.err3错误输出这些流在默认情况下连接到控制台,但可以使用其他流重定向打印流PrintStream打印流格式化输出数据类型PrintStream是面向字节的输出流,用于PrintStream提供了一组方法,可用于将PrintStream可以打印基本数据类型(如向文件或其他输出设备打印格式化的文本数各种数据类型格式化为字符串并打印到目标整数、浮点数、字符串等),以及对象据输出流使用打印流输出格式化数据创建对象PrintStream1将标准输出流System.out作为参数创建使用或方法print println2输出格式化数据使用方法printf3以类似于C语言的格式化字符串进行输出PrintStream类提供了一种方便的机制,可以将格式化数据输出到目标流,例如控制台或文件通过使用该类,您可以控制输出数据的格式,例如添加空格、对齐、指定宽度等管道流和PipedInputStreamPipedOutputStream进程间通信数据流向
1.
2.12管道流用于不同进程之间传输PipedInputStream用于接收数据数据,PipedOutputStream用于发送数据连接关系同步机制
3.
4.34一个PipedInputStream必须管道流使用同步机制确保数据连接一个传输的完整性PipedOutputStream使用管道流实现进程间通信创建管道流在两个进程中分别创建PipedInputStream和PipedOutputStream对象,它们构成一个管道流数据传输发送进程使用PipedOutputStream向管道流写入数据,接收进程使用PipedInputStream从管道流读取数据进程间通信通过管道流实现进程间数据传输,在两个进程间传递信息或数据示例例如,一个进程负责生成数据,另一个进程负责接收并处理数据,它们可以通过管道流进行通信对象输入输出流和ObjectInputStreamObjectOutputStreamObjectInputStream ObjectOutputStreamObjectInputStream用于从数据源读取ObjectOutputStream用于将对象数据对象数据它可以从文件、网络连接或其写入数据源它可以将对象数据写入文件他输入流中读取对象、网络连接或其他输出流ObjectInputStream必须先读取对象数ObjectOutputStream将对象序列化成据,然后才能将其反序列化成对象字节流,然后将字节流写入数据源使用对象输入输出流读写对象对象输入输出流允许您将对象序列化为字节流并将其写入文件,或从文件读取字节流并将其反序列化为对象创建对象1使用类的构造函数创建要写入的对象序列化2使用ObjectOutputStream将对象写入文件反序列化3使用ObjectInputStream从文件读取对象使用对象4访问已反序列化的对象并使用其方法序列化与反序列化序列化将对象转换为字节流,方便存储或传输反序列化将字节流还原为对象,便于在需要时使用对象持久化利用序列化将对象状态保存到文件或数据库中,以便在程序下次运行时恢复随机访问文件RandomAccessFile随机访问文件指针控制RandomAccessFile类允许您在文件指针表示当前读写位置,可文件中的任何位置读写数据,而以使用seek方法将指针移动到不必从文件开头开始文件的任意位置读写方法高效读写提供read和write方法,分RandomAccessFile非常适合需别用于从文件读取数据和将数据要快速访问文件特定部分的应用写入文件程序,例如数据库文件使用实现文件的随机读写RandomAccessFile创建对象RandomAccessFile1指定文件路径和访问模式随机访问文件2使用seek方法定位文件指针读写数据3使用read或write方法读写指定位置的数据关闭文件4调用close方法释放资源RandomAccessFile类允许对文件进行随机访问,无需从文件开头逐字节读取或写入通过seek方法可以将文件指针移动到文件的任何位置,然后使用read或write方法读写数据流的异常处理使用块FileNotFoundExcepti IOExceptionEOFException try-catchon读写文件时出现IO错误时抛出读文件时遇到文件结束符时抛捕获异常并处理错误情况,例文件不存在或无法打开时抛出此异常,例如磁盘空间不足或出此异常,例如文件损坏或未如显示错误信息或恢复程序正此异常权限问题完全写入常运行流的最佳实践及时关闭流使用缓冲流
1.
2.12在使用完流后,一定要及时关缓冲流可以提高读写效率,减闭它,释放资源少磁盘I/O操作使用避免重复打开和关闭
3.try-with-
4.34流resources使用try-with-resources语句重复打开和关闭流会降低程序自动关闭流,简化代码性能,尽量减少此类操作课程总结本课程深入探讨了Java流类库,涵盖输入输出流、文件读写、数据流、对象流、随机访问文件等核心概念通过实例演示,掌握了流类库的实际应用,为进一步学习Java高级编程奠定了基础。
个人认证
优秀文档
获得点赞 0