===================java文件操作=======================
前言:在java中,使用File类来进行相关的文件操作,可以通过File对象的方法创建文件对象、删除文件、列表目录下的文件以及判断文件是目录还是正式文件。
File类的相关属性:
1)public static String pathSeparator:表示当前操作系统的路径分隔符,因为在不同的操作系统下分隔符是不一样的,所以建议不要直接敲硬编码,要使用该属性代替硬编码。
2)File类的构造器:
一:File(File parent, String child)
表示在父目录(文件)下创建一个名字为child的文件对象;
二:File(String abc)
表示创建一个 以abc为名字的File对象;
三:File(String parent,String chlid)
表示以名字为parent字符串作为父目录名,创建一个指向名为child的文件对象。
注意:当我们通过File的构造器创建一个文件对象时,仅仅是在JVM内存中生成了一个File类型的对象,这时的对象与磁盘并没有任何关系,只有在调用这个对象时(其方法),该对象才会与磁盘上的某个或某些文件发生关系。
3)File的一些重要方法
boolean exists();
String getname();
boolean isDirectory();
long length();
File[] listFiles();
boolean mkdirs();
boolean delete();
相关的用法参考JDK说明,还有许多实用的方法都可以在JDK中找到。
4)利用File的相关属性及方法可以实现打印目录,查找目录的功能,可以使用递归方法判断并打印出目录及目录一下文件的相关信息。
=======================相关文件操作流的用法==========================
在上面我们知道了java中可以用File对象来创建文件对象,也可以查看文件的相关信息,比如说相对路径和绝对路径等;但我们要的是如何对这些创建出来的文件进行我们想要的操作,而不是只是为了创建没用的文件或文件夹。为此我将介绍java中一些简单的可以操作文件的流操作。
所谓流操作,顾名思义就是类似于水流,有水管封装的流状态,在java的io机制中,把流也当成是类来看待,只要我们创建了流对象,就可以对文件进行读写操作了。
在java中,为了对不同来源和性质的流对象调用同一的方法,系统首先定义了顶层输入与输出流的接口和抽象类,以方便使用,建议尽量按照在具体流中所实现的接口(抽象类)中定义的方法使用。
(一)InptStream是一个抽象类,它有多种适用于不同用途的具体实现类,大家可以参考JDK资料,在这里只介绍FileInptStream。
用法:在程序中按照上面所说的操作创建一个测试文件(可以直接在文件夹下创建),然后我们创建一个流对象,流对象的构造函数的参数类表中,参数为文件名,如:
java.io.InputStream in = new java.io.FileInputStream(文件名);
这句话表示创建一个流对象,并把它“绑定”在文件名所指的文件上,我们就可以通过这个流对象来读入该文件中的数据了。读入的方法在编写程序时系统(eclipse)会有自动提示,按照提示使用符合自己要求的方法即可。
(二)在InputStream的子类中还有一个比较常用的DataInputStream类,该类主要用于读入基本数据(八大基本类型的数据),怎么写入,就怎么读出来。所以想要读入,就必须知道是怎么写进去的。注意:DataInputStream是InputStream的一个子类,它的地位不等同于FileInptStream,它的构造函数参数为FileInptStream对象,可以简单理解为它是用来包装FileInptStream对象的。(即在水管上加以限制使之成为专门输送基本数据的水管,并不是重新在文件上安装一根专门输送解基本数据的水管)
(三)缓冲流
当我们要读写的文件太大时,我们会发现单纯使用以上的流对象很浪费时间,不怕,java虚拟机为我们提供了缓冲流来实现提速。可以理解为缓冲流是与DataInputStream地位相等的,它也是包装FileInptStream流对象的。不过它的主要功能是把数据一块一块(而不是一个字节一个字节)读入或读出,大家可以比较两者所用的时间,可以发现不用缓冲流的时候时间是大大增加了。所以在文件较大时,推荐使用缓冲流。
(四)以上所介绍的只是读入流,输出流的用法与之相当接近,只是输出流的操作是在内存上进行的,(输入流也是)我们想要的就是把输出的数据保存,故在输出流操作最后一步还必须使用输出流特有的flush方法来进行保存数据。无论是输入还是输出,使用完文件后必须用close方法关闭文件,防止文件出现意想不到的故障,要养成这个良好的习惯。
分享到:
相关推荐
Java程序设计中的输入输出流和文件操作是编程中不可或缺的部分,它们允许程序与外部世界进行数据交换,包括读取文件内容、写入数据到文件、以及处理标准输入输出。以下是对这些概念的详细阐述: 1. **文件和流的...
在C和C++编程语言中,文件输入输出(I/O)是程序与外部存储设备交互的重要部分。本文将深入探讨C/C++中的流式文件操作和I/O文件操作,包括常用函数的功能、用法以及一些关键概念。 首先,C语言中的文件操作主要依赖...
Java I/O 包是Java平台的核心部分,它提供了丰富的类和接口用于处理输入输出操作,包括文件操作和流式输入输出。在这个主题中,我们将深入探讨如何使用Java进行文件管理和流处理。 首先,我们来看看`java.io`包中的...
C++ 文件输入输出 C++ 文件输入输出是 C++ 编程语言中的一种基本操作,用于将数据...文件操作是指将数据读取和写入到文件中的过程,C++ 提供了多种文件输入输出函数,可以组合使用,以实现复杂的文件输入输出操作。
在Java编程中,文件上传和下载是常见的任务,通常涉及到输入输出流(Input/Output Stream)的操作。输入输出流是Java I/O系统的基础,用于在内存与外部存储设备之间传输数据。下面将详细讲解如何使用输入输出流实现...
通过阅读和分析这些代码,你可以进一步加深对C++文件输入输出的理解。不过,由于实际文件内容未提供,具体的分析无法在此展开。 总的来说,`fstream`库提供了C++进行文件操作的基本工具,是开发涉及文件交互的程序...
9. **文件复制**: 在Java中,可以使用`FileInputStream`和`FileOutputStream`进行简单的文件复制,或者使用`Files.copy()`方法进行更高效的复制。 10. **异常处理**: 在进行文件操作时,必须考虑到可能出现的异常,...
java输入输出流和文件操作.pdf
Java中的输入输出流是程序与外部数据交互的重要方式,它允许我们读取和写入数据到各种来源,如键盘、文件、网络等。在Java中,输入输出流分为两大类:字节流(Byte Stream)和字符流(Character Stream)。本次实验...
总之,Qt提供的强大文件和目录操作API使得在各种平台下进行文件输入输出变得简单而高效。无论是简单的文本读写,还是复杂的文件系统操作,Qt都能提供完整的解决方案。在MediaTest2这样的项目中,理解并熟练运用这些...
**输入输出流与文件处理**在编程领域占据着核心地位,特别是在Java中,通过`java.io`包提供了丰富的类和接口来支持输入输出操作。这包括从键盘读取用户输入、从文件或网络读取数据、以及将数据写入文件或网络等场景...
这里主要关注的是如何使用输入流对象(InputStream)和输出流对象(OutputStream)进行SDCard(外部存储卡)的读写操作。下面将详细介绍这些概念和实践中的应用。 1. **Android 文件操作**: Android 提供了丰富的...
在IT行业中,文件管理和输入输出流是至关重要的概念,尤其对于程序设计而言。"文件管理和输入输出流"这个主题涵盖了Java、C语言、C++、C#以及JSP等多种编程语言中的相关技术,这些技术使得程序员能够有效地读取、...
实验项目:实验四、输入输出与文件操作 实验仪器:微机系统、汇编调试环境 实验目的: 1. 熟悉并掌握输入输出与中断调用子程序的设计与调试。 2. 掌握DOS中对屏幕和键盘中断的调用方法。 3. 了解并实现文件的基本...
在编程领域,文件输入输出(I/O)是处理数据存储和检索的核心部分。在这个场景中,我们关注的是“文件输入输出缓冲流”,这是Java或C++等编程语言中常用的概念,用于提高文件读写效率。缓冲流允许我们将数据批量处理...
在C#编程环境中,文件输入输出操作是程序与文件系统交互的基本能力,广泛应用于数据存储、日志记录、文件读写等场景。本教程将详细阐述C#中的文件操作技术,特别是针对Windows Forms(WinForm)应用的实现。 首先,...
在C#编程中,文件输入输出(File Input/Output,简称I/O)是开发者处理数据存储和检索的核心技能。这个主题涵盖了多个知识点,包括文件的读取、写入、追加、创建、删除、移动以及设置文件属性。下面将详细讨论这些...
### C语言中文件的输入输出知识点详解 #### 一、文件基本概念与分类 - **文件定义**: 在C语言中,文件通常指的是存储在外部介质(例如磁盘、磁带等)上的数据集合。 - **操作系统管理**: 操作系统以文件为单位对...
Java 输入与输出流是Java编程语言中至关重要的概念,它涉及到数据在程序、文件、网络之间的传输。在Java中,I/O(Input/Output)处理是通过一系列的类和接口来实现的,这些都位于java.io包中。下面将详细阐述Java...
Java文件输入输出是Java编程中的基础且重要的一部分,它涵盖了数据在文件系统和程序之间的传输。这个主题包括了多种类和方法,使得开发者能够高效地处理文件内容。本文将深入探讨Java中的文件输入输出机制,以及如何...