`
禹爸爸
  • 浏览: 86297 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Java 文件操作基础之流操作

    博客分类:
  • Java
阅读更多

Java编程语言中,想对文件进行操作,必须先对其封装的流操作类型有一定的了解。

对于计算机中的文件和目录,Java封装了一个File类。此类中定义了一些对文件及目录操作的常用方法

 

如果想不使用流方式操作文件,需要用到Java中定义的RandomAccessFile类。此类中定义了许多读写方法用于操作文件,如readInt, readLong, readShort, readDouble, readFloat, readBoolean, readChar, readLine;writeInt, writeLong, writeShort, writeDouble, writeFloat, writeBoolean writeChar, writeLine等。并可以使用seek方法移动指针,从文件任意位置进行读写操作。

对于文件的流操作,Java则提供了相对比较丰富的类。

InputStream,所有输入流类的祖先类,其子类有FileInputStream和FilterInputStream,而FilterInputStream下又有子类DataInputStream和BufferedInputStream.

 

OutStream,所有输出流类的祖先类,其子类有FileOutputStream和FilterOutputStream,而FilterOutputStream下又有子类DataOutputStream和BufferedOutputStream.

FileXXXXStream是以二进制方式对文件数据进行读写操作,使用read或write方法每次读取或写入一个或多个字节;

DataXXXXStream是对FileXXXXStream的一个装饰类,可以使用readInt(writeInt), readChar(writeChar), readBoolean(writeBoolean)等方法直接读取或写入数字、字符、布尔等类型数据;

BufferedXXXXStream亦是对FileXXXXStream的一个装饰类,其作用为可以使用缓冲区对流数据进行读取和写入操作。如果将FileXXXXStream类对数据的读取或写入比做是一瓢一瓢的将水接入大水桶,那么BufferedXXXXStream则是先将水接到一个小水桶中,然后再倒入存水的大水桶中。

下面举例说明这些类的使用方法。

 

 

	public static void getFileInfo(String fileName) throws IOException {
		File f = new File(fileName);
		System.out.println("File Information [" + fileName + "]");
		System.out.println("Executable: " + f.canExecute());
		System.out.println("Writeable: " + f.canWrite());
		System.out.println("Readable: " + f.canRead());
		System.out.println("Path: " + f.getPath());
		System.out.println("Absolute Paht: " + f.getAbsolutePath());
		System.out.println("Canonical Path: " + f.getCanonicalPath());
		System.out.println("Parten: " + f.getParent());
		System.out.println("Last modified: " + f.lastModified());
		System.out.println("Path: " + f.toPath());
		System.out.println("URI: " + f.toURI());
		System.out.println("=======================================");
	}
	//读取文本文件内容
	public static void readFile(String fileName) throws IOException {
		//FileInputStream in = new FileInputStream(fileName);
		FileReader fr = new FileReader(fileName);
		int b;
		while ((b = fr.read()) != -1) {
			System.out.print((char)b);
		}
		fr.close();
	}

 

public void copyFile(File srcFile, File destFile) {
    if (!srcFile.exists()) {
        //源文件不存在
       throw new Exception("源文件" + srcFile + "不存在");
    }
    if (!srcFile.isFile()) {
        //源文件不是文件,可是是目录或其他
        throw new Exception("源文件" + srcFile + "不是文件");
    }

    FileInputStream in = new FileInputStream(srcFile);
    FileOutputStream out = new FileOutputStream(destFile);
    InputStreamReader isr = new InputStreamReader(in);
    int b = 0;
    byte[] buf = new byte[8 * 1024];
    while ((b = irs.read(buf, 0, buf.length)) != -1) {
        out.write(buf, 0, b);
    }
    in.close();
    out.close();
}



 

 

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

分享到:
评论

相关推荐

    java文件操作

    Java文件操作是编程中不可或缺的一部分,尤其是在处理I/O流、文件读写以及文件管理时。Apache Commons IO是一个非常实用的库,它为Java开发者提供了大量的工具类和方法,以简化文件操作。在这个场景中,我们关注的是...

    Java流(文件读写操作)

    ### Java流(文件读写操作) #### 一、流的分类 Java中处理文件和数据时,使用流的概念来进行...通过这些基本的示例,开发者可以更好地理解Java流的工作原理,并能够根据具体需求选择合适的流类型进行文件读写操作。

    java文件与流操作code

    Java文件与流操作是Java编程中的重要组成部分,主要用于数据的读写、传输和处理。在Java中,I/O(输入/输出)系统是通过流(Stream)的概念来设计的,流是数据传输的抽象表示,可以是文件、网络连接、内存缓冲区等。...

    java 文件操作及IO流

    Java 文件操作与IO流是Java编程中的核心概念,主要用于数据的读取、写入和传输。在Java中,文件操作通常涉及到`java.io`包下的类,如`File`、`FileOutputStream`、`OutputStreamWriter`和`BufferedWriter`等。下面将...

    java文件操作总结

    Java文件操作是Java编程中必不可少的部分,它涵盖了...以上就是Java文件操作的核心知识点,涵盖了文件和目录的基本操作、流的使用、NIO特性、异常处理等多个方面。通过这些,开发者可以灵活地处理各种文件操作任务。

    java post文件流的操作

    #### 3.2 文件操作示例 - **获取文件名称**:`getOriginalFilename()`方法可以获取原始文件名。 - **转换文件类型**:通过类型转换,可以进一步操作文件,如将其转换为`CommonsMultipartFile`或`DiskFileItem`等...

    Java 文件操作大全

    本篇文章将深入探讨Java中的文件操作,特别是基于IO流的读取方法。 首先,我们来看如何使用Java进行文件读取。文件读取通常涉及以下几种方式: 1. **按字节读取文件内容**:这是最基础的读取方式,适用于处理二...

    Java流操作文件

    Java流提供了全面的文件操作能力,从基本的读写到复杂的过滤和转换。结合`File`类,开发者可以实现文件的增、删、改、查、复制等各种功能,适应各种文件处理需求。理解并熟练掌握Java流操作文件,是Java开发中的重要...

    java文件流操作[定义].pdf

    在Java编程中,文件流操作是处理文件输入和输出的核心技术。文件流允许程序以高效且灵活的方式读写文件内容,无论是文本文件还是二进制文件。本篇文章将详细阐述Java中的文件流操作,包括字节流和字符流的使用。 ...

    java 复制文件 io流操作

    在Java编程语言中,文件复制是一项常见...理解这些基本概念对于进行更复杂的文件操作至关重要。在实际开发中,还可以考虑使用NIO(New IO)或Java 7引入的`Files.copy()` 方法,它们提供了更高效和简洁的文件操作方式。

    基于JAVA的常用文件操作方法

    在Java编程语言中,文件操作是一项基础且重要的任务。这篇博文主要探讨了如何使用Java进行常见的文件操作,包括创建、读取、写入、删除文件以及处理目录等。以下是对这些知识点的详细说明: 1. **创建文件**: 在...

    流与文件 JAVA文件操作

    总的来说,Java的流和文件操作是一个广泛且基础的主题,涵盖了从简单的文件复制到复杂的数据序列化。学习这些概念不仅有助于理解Java I/O系统的工作原理,也是开发高效、可靠应用程序的基础。在实际编程中,开发者...

    java文件流操作.docx

    总的来说,Java文件流操作涵盖了字节流、字符流以及缓冲流的使用,这些都是Java I/O系统的基础,也是任何Java程序员必备的知识点。理解并熟练运用这些概念,可以有效地处理文件输入输出,实现数据的读写操作。

    JAVA 文件常用流操作.zip

    在Java编程语言中,文件操作是一项基础且重要的任务。这个名为"JAVA 文件常用流操作.zip"的压缩包可能包含了各种关于Java中文件流使用的示例和教程。让我们深入探讨一下Java中的文件流操作。 首先,Java中的文件...

    有关java文件操作的类和用法

    总的来说,理解和熟练使用Java的文件操作类是任何Java开发者必备的技能之一。无论是处理文本文件还是二进制文件,无论是简单的读写还是复杂的流操作,这些类都能提供强大的支持。记住,始终确保在操作完成后正确关闭...

    java 文件操作

    以上就是Java文件操作的核心知识点。在实际开发中,根据具体需求,可以灵活运用这些方法和类,实现对文件和目录的高效管理。同时,理解并掌握源码能够帮助我们更好地解决问题,而利用工具类能提高开发效率。

    Java 文件操作实现 通讯录

    1. **文件操作基础** Java提供了一系列类来处理文件操作,如`java.io.File`用于创建、读取、写入、删除文件或目录,以及获取文件属性。首先,我们需要创建一个File对象,代表通讯录文件的位置。 2. **序列化与反...

    java中对文件操作大全

    ### Java中文件操作详解 #### 一、获取控制台用户输入信息 在Java中,获取控制台用户输入信息是一项基本但重要的操作。如标题“Java中文件操作大全”所示,其中一个示例方法`getInputMessage()`用于从控制台读取...

    Java 7文件操作

    在Java 7中,文件操作得到了显著的改进,引入了`java.nio.file`包,其中最重要的新特性之一就是Path类的出现。Path类是Java 7文件系统接口(FileSystem API)的核心部分,它提供了一种抽象的方式来表示文件或目录的...

Global site tag (gtag.js) - Google Analytics