Java IO实战:读写、追加、删除与文件操作

需积分: 47 1 下载量 33 浏览量 更新于2024-07-22 1 收藏 86KB DOC 举报
"Java IO操作包括对文件的读写、追加、删除、移动和复制等,本内容主要关注读取文件的各种方法。" 在Java编程中,IO(Input/Output)操作是处理数据输入和输出的重要部分。针对文件操作,Java提供了丰富的类库来支持各种类型的数据交互。以下是对标题和描述中涉及的Java IO知识点的详细说明: 1. 按字节读取文件内容 Java中的`FileInputStream`类用于按字节读取文件,适用于二进制文件如图片、音频或视频。可以使用`read()`方法读取单个字节,或者`read(byte[])`方法读取多个字节到字节数组中。例如: ```java FileInputStream fis = new FileInputStream(fileName); int tempByte; while ((tempByte = fis.read()) != -1) { System.out.write(tempByte); } fis.close(); ``` 或者一次性读取多个字节: ```java byte[] tempBytes = new byte[100]; int bytesRead; FileInputStream fis = new FileInputStream(fileName); while ((bytesRead = fis.read(tempBytes)) != -1) { System.out.write(tempBytes, 0, bytesRead); } fis.close(); ``` 2. 按字符读取文件内容 对于文本文件,可以使用`BufferedReader`或`FileReader`。`FileReader`直接读取字符,而`BufferedReader`则提供缓冲,提高性能。例如: ```java FileReader fr = new FileReader(fileName); BufferedReader br = new BufferedReader(fr); String line; while ((line = br.readLine()) != null) { System.out.println(line); } br.close(); fr.close(); ``` 3. 按行读取文件内容 `BufferedReader`的`readLine()`方法可以方便地按行读取文本文件内容。 4. 随机读取文件内容 对于需要在文件中随机访问的场景,可以使用`RandomAccessFile`类。它允许在文件的任何位置读写数据。例如: ```java RandomAccessFile raf = new RandomAccessFile(fileName, "r"); raf.seek(100); // 将读取指针移动到文件的第100字节位置 int byteRead = raf.read(); raf.close(); ``` 5. 文件的其他操作 - 删除文件:使用`File`类的`delete()`方法,例如`file.delete();` - 移动/重命名文件:`File`类的`renameTo(File dest)`方法,例如`file.renameTo(newFile("newFileName"));` - 复制文件:可以使用`Files.copy(Path source, Path target, CopyOption... options)`方法,或者通过`InputStream`和`OutputStream`实现。 - 创建/修改文件:使用`FileWriter`类创建新文件或修改已存在的文本文件。 这些只是Java IO操作的基本示例,实际应用中可能需要结合错误处理、流的关闭、多线程安全等因素进行更复杂的操作。了解并熟练掌握这些基础操作,是进行Java文件系统编程的关键。