认识File 类和InputStream, OutputStream

这篇具有很好参考价值的文章主要介绍了认识File 类和InputStream, OutputStream。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        Java中通过file类来对一个文件(包括目录)进行抽象的描述。并且有File类对象,并不代表真实存在该文件。认识File类,就先了解File类的属性,构造方法,方法。

属性:

修饰符及类型         属性                         说明
static String         pathSeparator          依赖于系统的路径分隔符,String 类型的表示
static char            pathSeparator          依赖于系统的路径分隔符,char 类型的表示
构造方法:
认识File 类和InputStream, OutputStream,java,开发语言
File file = new File("D:/test.txt");
File file = new File("test.txt");//当直接写文件名的话,该父目录为null

方法(部分):

认识File 类和InputStream, OutputStream,java,开发语言

如果创建文件时,在该目录下有一个同名同类型文件,那么将不会创建。

文件重命名操作也可以移动文件位置。

InputStream:InputStream 只是一个抽象类,要使用还需要具体的实现类。关于 InputStream 的实现类有很多,基本可以认为不同的输入设备都可以对应一个 InputStream 类,我们现在只关心从文件中读取,所以使用 FileInputStream。文章来源地址https://www.toymoban.com/news/detail-728249.html

修饰符及返回值类型                 方法签名                 说明
int                                              read()            读取一个字节的数据,返回 -1 代表已经完全读完了
int                                             read(byte[] b)         最多读取 b.length 字节的数据到 b 中,返回实际读到的数量;-1 代表以及读完了
int                                                 read(byte[] b, int off, int len)         最多读取 len - off 字节的数据到 b 中,放在从 off 开始,返回实际读到的数量;-1 代表以及读完了
void                                         close()                 关闭字节流
为了保证close()方法一定运行,可以写到finally{}里面,也可将对象的创建写在try()里面。
当read()方法没读完时,返回的是读取数据的ascii码。
try (FileInputStream fileInputStream1 = new FileInputStream("d:/text.txt");
FileOutputStream fileOutputStream2 = new FileOutputStream("c:/text.txt")){}
认识File 类和InputStream, OutputStream,java,开发语言
FileInputStream fileInputStream = new FileInputStream(file);
int a = fileInputStream.read();
对字符类型直接使用 InputStream 进行读取是非常麻烦且困难的,所以,我们使用一种我们之前比较熟悉的类来完成该工作,就是 Scanner 类。
构造方法                                                                         说明
Scanner(InputStream is, String charset)                 使用 charset 字符集进行 is 的扫描读取
FileInputStream fileInputStream = new FileInputStream(file);
Scanner scanner = new Scanner(fileInputStream, "UTF-8");
while (scanner.hasNext()){
    System.out.println(scanner.next());
}
OutputStream:OutputStream 同样只是一个抽象类,要使用还需要具体的实现类。我们现在还是只关心写入文件中,所以使用 FileOutputStream,OutputStream类的使用与inputstream大致相同。OutputStream类对象打开文件,会清空原来文件中的内容,要想不清空原来文件的内容,则必须按照追加的方式打开。
FileOutputStream fileOutputStream = new FileOutputStream("d:/test.txt",true)
void flush()  重要:我们知道 I/O 的速度是很慢的,所以,大多的 OutputStream 为了减少设备操作的次数,在写数据的时候都会将数据先暂时写入内存的一个指定区域里,直到该区域满了或者其他指定条件时才真正将数据写入设备中,这个区域一般称为缓冲区。但造成一个结果,就是我们写的
数据,很可能会遗留一部分在缓冲区中。需要在最后或者合适的位置,调用 flush (刷新)操作,将数据刷到设备中。这与inputstream的方法所不同。
fileOutputStream.write('d');
fileOutputStream.write('4');
fileOutputStream.flush();
与inputstream一样,一个一个输入过于麻烦,因此可以使用和scanner类类似的类 PrintWriter,
将OutputStream 处理下,使用PrintWriter 类来完成输出,
OutputStream output = new FileOutputStream("d:/test.txt");
OutputStreamWriter writer = new OutputStreamWriter(output, "utf8");
PrintWriter printWriter = new PrintWriter(writer);
printWriter.print("hello");

到了这里,关于认识File 类和InputStream, OutputStream的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 在java中将inputStream对象转换为File对象(不生成本地文件)

    需求说明 在后端中通过POI生成Excel文件流,将输出流(outputStream)转为输入流(inputStream)后又需要将输入流(inputStream)转为File对象 问题:如果需要将输入流(inputStream)转为File对象,则必须要根据本地路径去生成一个File对象才行,也就是说不管怎样本地都必须要生成出来

    2024年02月15日
    浏览(42)
  • Java对文件的写入和读取 (File类详解以及Input,OutputStream用法,注意事项)

    Java中,操作文件的类有很多, 核心的部分是File类,InputStream,OutputStream类 我们先来看看 File 类中的常见属性、构造方法和方法 属性 修饰符及类型 属性 说明 static String pathSeparator 依赖于系统的路径分隔符,String 类型的表示 static char pathSeparator 依赖于系统的路径分隔符,char 类型的

    2024年02月09日
    浏览(32)
  • Java-简单认识类和对象

                    Java是一门 纯面向对象 的语言(Object Oriented Program,简称OOP),在面向对象的世界里, 一切皆为对象 。 面向对象是解决问题的一种思想,主要依靠对象之间的交互完成一件事情 。用面向对象的思想来涉及程序,更符合人们对事物的认知,对于大型程序的

    2024年02月14日
    浏览(26)
  • java -- File类和递归

    java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。File类将文件,文件夹和路径封装成了对象,提供大量的方法来操作这些对象。 绝对路径 :从 盘符 (Windows)或\\\" / \\\"(Linux)开始的路径,这是一个完整的路径,绝对路径具有唯一性 相对

    2023年04月16日
    浏览(23)
  • Java File类和IO流

    目录 1. File类 1.1 File对象创建 1.2 File判断和获取方法 1.3 创建和删除方法 1.4 遍历文件夹 2. 字符集 2.1 ASCII字符集 2.2 GBK字符集 2.3 Unicode字符集 2.4 UTF-8 2.5 字符集小结 2.6 编码和解码 3. IO流(字节流) 3.1 IO流概述 3.2 FileInputStream 3.3 FileOutputStream  3.4 FileReader 3.5 FileWriter 3.6 缓冲流

    2024年02月09日
    浏览(26)
  • 【Java|基础篇】File类和IO流

    File类是Java中用于表示文件或目录的类。它提供了一些方法来操作文件和目录的属性和内容,可以进行文件的创建、删除、重命名等操作。 File类可以用于表示磁盘上的实际文件或目录,也可以表示一个虚拟的文件或目录。File对象可以通过路径来创建,路径可以是绝对路径或

    2024年02月15日
    浏览(25)
  • C++:类和对象(上)---初步认识类和this指针

    C语言是一门面向过程的语言关注的是过程,确认一个问题求解的步骤,再一步一步对它进行解决 C++是一门基于面向对象的语言,它更关注的是对象,将一个事情分成不同的对象,再用对象完成问题的解决 在C语言中有结构体,但结构体中只能定义变量,而在C++中还可以定义函

    2024年02月16日
    浏览(27)
  • Java语言-----泛型的认识

    目录 一.什么是泛型 二.泛型类的使用 2.1泛型类的定义  2.2泛型类的数组使用 三.泛型的上界  四.泛型的方法 五.泛型与集合 😽个人主页: tq02的博客_CSDN博客-C语言,Java领域博主  🌈梦的目标:努力学习,向Java进发,拼搏一切,让自己的未来不会有遗憾。  🎁欢迎各位→点

    2023年04月23日
    浏览(37)
  • 认识Object类和深浅拷贝

    本文介绍了Object类以及Object类部分方法,toString方法,equals和hashCode方法(重写前和重写后的对比),getClass方法,clone方法,以及拷贝新对象时会出现的深浅拷贝, 内容较长,耗时一天,建议收藏后观看~ Object类是Java默认提供的一个类。而这个类是Java里所有类的顶级父类,即在继承体系下

    2023年04月20日
    浏览(23)
  • 快速认识,后端王者语言:Java

    Java作为最热门的开发语言之一,长居各类排行榜的前三。所以,就算你目前不是用Java开发,你应该了解Java语言的特点,能用来做什么,以备不时之需。 Java 是一种高级、多范式编程语言,以其编译为独立于平台的字节码的能力而闻名。 它是由 Sun Microsystems 的 James Gosling 于

    2024年02月05日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包