Java_文件读写(File,输入流,输出流)

Java_文件读写

File

File:

作为java中的文件类,当我们需要操作文件的时候,通常会new一个file对象,并让其得到所需要操作得文件路径,让其”读取成为“这个文件,然后在其之上调用方法进行操作。

常用构造方法:
  • File(File parent, String child): 根据 parent得抽象路径和 child提供的路径名字符串,合并成为新的路径字符串,然后根据此路径创建一个新 File 实例。
  • File(String pathname):通过将给定路径名字符串作为路径来创建一个新 File 实例。
  • File(String parent, String child):将给定的俩个路径字符串拼接起来得到新的路径字符串,以此为路径创建一个新 File 实例。
常用方法
  • boolean exists() :测试此抽象路径名表示的文件或目录是否存在。
  • boolean delete(): 删除此抽象路径名表示的文件或目录。
  • String getAbsolutePath(): 返回此抽象路径名的绝对路径名字符串。
  • String getName():返回由此抽象路径名表示的文件或目录的名称。
  • long length():返回由此抽象路径名表示的文件的长度。
  • boolean renameTo(File dest): 重新命名此抽象路径名表示的文件。(注:重命名后原路径文件即不存在了,但File中依然使用的是原路径,所以当使用这条指令之后,原File就读取不到文件了)
  • boolean createNewFile(): 当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件。

输入流

输入
  • 首先 了解一下输入指的是从硬盘或其他途径中读取的与本程序没有直接关联的文件,从其中读取的信息读到内存中,这叫输入,即硬盘到内存。
常用输入流
字节输入流
InputStream

字节输入流的祖师类InputStream,我们通常使用的是其子类去定义并实例化其对象。

FileInputStream

一个较为常用的字节输入流类

  • 常用构造方法
    FileInputStream(File file):通过打开一个到实际文件的连接来创建一个 FileInputStream,该文件通过文件系统中的 File 对象 file 指定。
    FileInputStream(String name): 通过打开一个到实际文件的连接来创建一个 FileInputStream,该文件通过文件系统中的路径名 name 指定。
  • 常用方法
    void close():关闭此文件输入流并释放与此流有关的所有系统资源。
    int read(): 从此输入流中读取一个数据字节。
    int read(byte[] b):从此输入流中将最多 b.length 个字节的数据读入一个 byte 数组中。
    long skip(long n):从输入流中跳过并丢弃 n 个字节的数据。
    int read(byte[] b, int off, int len):从此输入流中读入最多len长度的字节数,读到b数组从off位置开始的位置后。
字符输入流
Reader

字符输入流的一个祖师类,我们通常使用的是其子类去定义并实例化其对象。

FileReader

常用的一个字符输入流的实体类,其主要的构造方法与常用方法与字节输入流FileInputStream很是相似,最大的区别就是类型不同,一个是以字节为单位,一个是以字符为单位。

输出流

输出流与输入流由于是反向的关系,所以其方法也是近乎完全反向的类似方法。

  • 首先:了解以下输出,输出是指将内存中的信息输出写到与此程序无直接关联的硬盘文件上去,与输入是一个相反的过程,即从内存到硬盘。
  • 注意:绝大部分输出流在使用的时候其写入的信息会先存放在流中,当你关闭(即调用其的close方法)才会真正的写入文件。
常用输出流
字节输出流
FileOutputStream

一个字节输出流的常用实体类

  • 常用构造方法
    FileOutputStream(String name): 创建一个向具有指定名称的文件中写入数据的输出文件流。
    FileOutputStream(File file):创建一个向指定 File 对象表示的文件中写入数据的文件输出流。
  • 常用方法:
    void close():关闭此文件输出流并释放与此流有关的所有系统资源。
    ** void write(byte[] b)**:将 b.length 个字节从指定 byte 数组写入此文件输出流中。
    ** void write(int b) **:将指定字节(b)写入此文件输出流。
    void write(byte[] b, int off, int len):将从数组的第off个元素开始的len个元素写入该文件输出流。
字符输出流
FileWriter

字符输出流,与字节输出流大同小异,最主要的区别就是类型不同,使用方法可完全参照使用。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很抱歉,我无法提供PPT文件,但我可以为您提供Java输入输出的相关信息。 在Java中,可以使用输入输出(Stream)来读写文件。常见的文件输入输出FileInputStream和FileOutputStream,它们分别用于从文件中读取数据和向文件中写入数据。 以下是一个简单的例子,演示如何使用Java读取文件内容并将其输出到控制台: ```java import java.io.*; public class FileInputExample { public static void main(String[] args) { try { File file = new File("example.txt"); FileInputStream fis = new FileInputStream(file); byte[] data = new byte[(int) file.length()]; fis.read(data); fis.close(); String contents = new String(data, "UTF-8"); System.out.println(contents); } catch (IOException e) { e.printStackTrace(); } } } ``` 这个例子中,我们首先创建了一个File对象来表示要读取的文件。然后使用FileInputStream来打开文件并读取其中的数据。我们使用byte数组来保存读取的数据,并将其转换为字符串类型,最后将其输出到控制台。 类似地,我们也可以使用FileOutputStream来向文件中写入数据。以下是一个简单的例子: ```java import java.io.*; public class FileOutputExample { public static void main(String[] args) { try { File file = new File("example.txt"); FileOutputStream fos = new FileOutputStream(file); String contents = "Hello, world!"; byte[] data = contents.getBytes("UTF-8"); fos.write(data); fos.close(); } catch (IOException e) { e.printStackTrace(); } } } ``` 这个例子中,我们首先创建了一个File对象来表示要写入的文件。然后使用FileOutputStream来打开文件并向其中写入数据。我们使用getBytes()方法将字符串转换为字节数组,并将其写入文件中。 希望这些例子可以帮助您了解如何在Java中进行文件输入输出
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值