文件和IO总结
学习了文件和IO,应该好好总结一下了,刚开始学的时候可能会觉得有点难理解,但之后发现操作起来挺简单的,这要归功与SUN公司赋予java的强大功能吧。
言归正传,先来讲文件。
Java提供了文件类(File),用来对文件进行创建,查找,修改,删除等操作。当我们查看File的API文档时,会发现里面提供了很多方法用于对文件的操作,这样使我们的使用变得很简单。
在学习文件时,需要了解路径。路径分两种,一种是绝对路径,另外一种是相对路径。有一个比较简单的方法来区分两者,如果路径里带有盘符,那么这就是一个绝对路径,如果是不带盘符的,那么这就是一个相对路径。我们一般采用相对路径。
路径的分割符,在windows中用“\”或者“//”和“;”,在linux中用“/”和“:”。
下面来讲异常,java中异常分为两类,一类是继承Error,这类错误我们一般无法处理,另外一类是继承Exception,我们通常处理的就是这类错误。Java中许多可以预见的错误都必须预先编写代码处理。常用的关键字有try{ }catch( ){ },throw{ },finally。try{ }catch( ){ }表示如果没有错误则执行try里面的代码,如果有错误,则执行catch里面的代码。throw{ }是将错误抛出,这样就不用自己处理,极端情况下可以一直抛出,知道main方法也用它抛出异常,将异常丢给JVM处理,这样做虽然自己不用处理,但是却比较粗糙,如果发生错误差错不方便,而且如果最终做成产品,万一出错,就会把一大串英文字母给客户看,也有可能因此泄露自己的技术上的一些机密。Finally表示不管有没有出错,都要执行的代码。
讲了文件,接下来讲流。如同自然界的水流,气流,计算机里面的数据也形象地可以看成是流。我们可以用流来实现文件的保存,复制,和打开。
Java中提供了功能丰富的流。有字节流(InputStream和OutputStream),缓冲流(BufferedInputStream和BufferedOutputStream),基本数据流(DataInputStream和DataOutputStream),还有对象流(ObjectInputStream和ObjectOutputStream)。这里面的其他几个流都继承自字节流,但需注意的是缓冲流和基本数据流不是字节流的直接子类,而是FilterInputStream和FilterOutStream的子类。而FilterInputStream和FilterOutStream才是字节流的直接子类。
用字节流进行操作时每一个字节要经过源文件——>系统内存——>虚拟内存——>程序——>系统内存——>目标文件。而缓冲流,则会在虚拟内存将字节进行积累,到一定大小再发送,所以缓冲流操作比字节流操作要快很多。
基本数据流,可以用来读写指定的基本数据类型的值。
对象流,可以用来读写对象。由于对象保存时只是保存对象的属性,不保存它的方法和构造方法。所以我们要先对对象进行序列化,实现java.io.serializable接口,实现这个接口的意义在于将对象的属性序列化而方法和构造方法没有序列化,那么保存的时候就只会保存属性。如果对象的一个属性是引用数据类型,那么这个引用数据类型的对象也要被序列化。如果一个对象中有不能被序列化地属性存在,那么整个对象的序列化就会失败。不希望对象的某个属性被序列化,可以在这个对象前面加上transient关键字。
分享到:
相关推荐
本文将深入探讨Linux中的文件IO和标准IO,以及它们之间的差异。首先,我们从基本概念出发,理解这两种IO方式。 **文件IO**是Linux系统中最常见的IO模型,它基于系统调用接口,如`open()`, `read()`, `write()`, `...
文件输入输出(File Input/Output,简称文件IO)是计算机编程中的基础操作,尤其是在系统级编程和应用开发中不可或缺。本文将围绕“文件IO编程”这一主题,详细讲解相关知识点,帮助初学者快速掌握文件IO的基本概念...
根据给定的信息,本文将对Java IO的基本概念及其在文件操作中的应用进行详细的解析与总结。主要内容包括:创建文件、删除文件、创建目录、列出指定目录下的所有文件及子目录等基本操作。 ### 一、Java IO概述 Java...
本文总结了 Linux 文件 IO 的相关知识点,涵盖了文件 IO 的基本概念、文件描述符、open 函数、read 函数、write 函数、lseek 函数、close 函数等。 一、文件 IO 概念 文件 IO 是计算机操作系统中最基本的输入/输出...
总结,文件IO是软件开发中不可或缺的一部分,理解并熟练掌握文件的读写操作、错误处理以及高效利用文件系统功能,能极大地提高代码的稳定性和效率。通过学习和实践,你将能够灵活地处理各种文件相关的任务。
总结,Android的文件IO操作提供了丰富的API来处理各种数据存储需求。理解这些类和接口的工作原理对于构建高效、可靠的应用程序至关重要。通过合理选择和组合不同的流,开发者可以实现高性能的数据读写操作,同时确保...
这篇博客“Java学习之IO总结及mina和netty”探讨了Java IO的基础知识,并深入到两个高级网络通信框架——Mina和Netty。Mina和Netty都是基于NIO(非阻塞IO)的高性能网络应用框架,它们简化了复杂网络编程的实现。 *...
字节流、文件流、文件操作、字节流文件流相互转换,流的包装
### Java IO系统全面解析 #### 一、Java IO系统概述 ...无论是文件操作、网络通信还是对象序列化,Java IO系统都能提供合适的方法和技术支持。理解和掌握Java IO系统对于任何Java开发者来说都是非常重要的。
在Java编程语言中,IO(Input/...总结,Java中的IO操作提供了丰富的工具来处理文件复制,从基础的字节流到高效的NIO,都有相应的解决方案。在实际应用中,应根据需求选择合适的复制方法,同时注意优化性能和错误处理。
java中的IO操作总结(四) 前面已经把java io的主要操作讲完了 这一节我们来说说关于java io的其他内容 Serializable序列化 实例1:对象的序列化 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23...
总结,Java中的IO文件流操作是编程中必不可少的部分,理解并熟练掌握各类流的使用,能够有效提升程序的效率和灵活性。在实际开发中,根据需求选择合适的流类型,并合理利用处理流来优化性能,是每个Java程序员应该...
2. 文件IO:文件操作主要包括创建、读取、写入和删除文件。Java提供了File类来处理文件路径和属性,以及FileInputStream和FileOutputStream用于文件读写。字符流的FileReader和FileWriter适用于文本文件操作。 3. ...
Java I/O 系统是 Java 编程语言中极为重要的组成部分,它提供了丰富的类和接口来处理文件和其他数据源的数据输入和输出。Java I/O 类库经历了多次迭代更新,在 Java 1.2.0 和 Java 1.4 版本中分别引入了面向字符的 I...
本文详细介绍了如何使用C++进行简单的文件IO操作,包括ASCII和二进制文件的读写。通过理解这些基本概念和技术,你可以更加熟练地处理文件相关的任务。无论是简单的文本文件还是复杂的二进制数据,C++都提供了强大的...
总结来说,Java IO流是处理输入输出的核心工具,无论是在本地文件系统还是在网络环境中,都能提供高效、灵活的文件操作手段。通过组合不同的流类,可以实现复杂的文件读写、上传和下载任务,同时适应文本和非文本...
总结来说,LabVIEW 8.20的文件I/O操作是其强大功能的一部分,通过提供的“第9章 文件IO”例程,开发者能够深入学习和实践文件的读写、定位、错误处理等操作,从而在自己的项目中有效地管理和利用数据。
在"8.23总结"这个文件中,可能包含了关于IO流和XML解析的实践案例、最佳实践、常见问题及其解决方案等内容。通过学习这个文件,开发者可以深化对这两部分知识的理解,提升在实际项目中的应用能力。
总结起来,这个场景涉及到Java IO流的使用,Servlet的文件传输,Spring框架的HTTP请求处理,以及一些辅助库和自定义工具类。理解这些核心概念和技术,对于实现“通过IO流把文件传到前端并下载”的功能至关重要。