FileOutputStream、FileInputStream的使用

FileOutputStream是OutputStream的继承类,它的主要功能就是向磁盘上写文件。FileOutputStream类中的write方法会把字节一个一个的写入磁盘中。

  以下是使用FileOutputStream输出流将数据写入到指定的文件中,在构建FileOutputStream输出流对象的过程中,如果指定的文件不存在,那么就创建该文件。

package com.tianjh.io.outputstream;

import java.io.FileOutputStream;

import java.io.IOException;

/**

  • Created on 2020/12/9
  • 向磁盘上指定文件文件写入数据
  • $FileOutputStreamDemo用法

*/

public class FileOutputStreamDemo {

public static void main(String[] args) {

FileOutputStream fileOutputStream;

try {

// 构建FileOutputStream对象,"D:/one.txt"文件不存在会自动新建

fileOutputStream = new FileOutputStream("D:/one.txt");

// write方法会把字节一个一个的写入磁盘中 write方法支持byte、int基本类型

byte aa = 97;

fileOutputStream.write(aa);

        int bb = 98;
fileOutputStream.write(bb); char cc = 'c';
// 没有write(char),只能机器自动从char转到int
fileOutputStream.write(cc); // String dd = "100";
// fileOutputStream.write(dd);
// fileOutputStream.write(dd)会报错, 因为FileOutputStream流中没有write(String)方法,
// 不过在PrintStream中有write(String)方法
} catch (IOException e) {
e.printStackTrace();
}
}

}

FileInputStream是IntputStream的继承类,它的主要功能就是向磁盘上读文件。FileInputStream类的read方法会一个一个字节的从磁盘往回读数据。下列是通过FileInputStream文件输入流读取指定文件 "D:/hello.txt"中的数据。

package com.tianjh.io.inputstream;

import java.io.*;

/**

  • Created on 2020/12/9
  • 从磁盘上读入文件,并输出到控制台
  • $FileInputStreamDemo用法

*/

public class FileInputStreamDemo {

public static void main(String[] args) {

FileInputStream fileInputStream;

int size;

try {

// 使用字符串类型的文件名创建一个文件输入流对象来读取文件

fileInputStream = new FileInputStream("D:/hello.txt");

// available() 返回从此输入流中可以读取(或跳过)的剩余字节数的估计值,而

// 不会被下一次调用此输入流的方法阻塞。

size = fileInputStream.available();

for (int i = 0; i < size; i++) {

System.out.print((char) fileInputStream.read());

// expected output: hello world!

}

} catch (IOException e) {

e.printStackTrace();

}

}

}

控制台输出的结果为:

  hello world!

Java IO流 FileOutputStream、FileInputStream的用法   的更多相关文章

  1. Java IO流 FileOutputStream、FileInputStream的用法

    FileOutputStream.FileInputStream的使用 FileOutputStream是OutputStream的继承类,它的主要功能就是向磁盘上写文件.FileOutputStre ...

  2. java Io流中FileInputStream和BufferedInputStream的速度比较

    首先是对FileInputStream 加上 FileOutputStream 对文件拷贝的应用 我这里拷贝的是一个视频.当然,你们拷贝什么都可以,当文件越大时效果越明显 下面是对BufferedIn ...

  3. 【Java基础】Java IO流的总结

    Java IO流分为输入流和输出流,而输入流和输出流中又分字符流和字节流.顾名思义,输入流则是输入到程序中计算,输出流是把程序的结果输出到文件或者设备.而字符流输入输出以字符为单位,字节流则是以字节为 ...

  4. Java:IO流与文件基础

    Java:IO流与文件基础 说明: 本章内容将会持续更新,大家可以关注一下并给我提供建议,谢谢啦. 走进流 什么是流 流:从源到目的地的字节的有序序列. 在Java中,可以从其中读取一个字节序列的对象 ...

  5. java IO流详解

    流的概念和作用 学习Java IO,不得不提到的就是JavaIO流. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...

  6. Java IO流学习总结

    Java流操作有关的类或接口: Java流类图结构: 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...

  7. Java IO流题库

    一.    填空题 Java IO流可以分为   节点流   和处理流两大类,其中前者处于IO操作的第一线,所有操作必须通过他们进行. 输入流的唯一目的是提供通往数据的通道,程序可以通过这个通道读取数 ...

  8. Java IO流总结

    Java IO流分类以及主要使用方式如下: IO流 |--字节流 |--字节输入流 InputStream: int read();//一次读取一个字节 int read(byte[] bys);// ...

  9. java io流(字节流)复制文件

    java io流(字节流) 复制文件 //复制文件 //使用字节流 //复制文本文件用字符流,复制其它格式文件用字节流 import java.io.*; public class Index{ pu ...

随机推荐

  1. maven依赖问题的出现原因与解决方式

    摘要 maven依赖问题作为开发者应该是经常遇到的问题,在个人单独开发单独维护的项目里,可能体现不那么明显,一是自己对导入的jar大部分都很明确,二是出现问题第一解决发现也很快,问题就没那么严重,而在 ...

  2. RabbitMQ,想说爱你不容易(附详细安装教程)

    前言 本文讲述的只是主要是 RabbitMQ 的入门知识,学习本文主要可以掌握以下知识点: MQ 的发展史 AMQP 协议 Rabbit MQ 的安装 Rabbit MQ 在 Java API 中的使 ...

  3. PyQt(Python+Qt)学习随笔:model/view架构中的两个标准模型QStandardItemModel和QFileSystemModel

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.PyQt中的标准模型 PyQt和Qt提供了两个标准模型QStandardItemModel和QF ...

  4. Docker下Python Flask+Redis+MySQL+RQ队列简单配置

    本篇博文主要讲解Docker下使用RQ队列的通信配置,主要是网上的部分文章写的不太清楚,特写一篇 作者使用docker-compose.yml文件调度各部分文件Dockerfile,起初是这样写的 v ...

  5. 快速排序(c++,递归)quick_sort

    放上c++代码,模板 1 #include <iostream> 2 #include<bits/stdc++.h> 3 using namespace std; 4 5 in ...

  6. OI知识点/得分技巧的归纳总结

    网络流 拆点/拆边技巧 题目来源 bzoj1070 题目描述 同一时刻有\(N\)位车主带着他们的爱车来到了汽车维修中心.维修中心共有\(M\)位技术人员,不同的技术人员对不同 的车进行维修所用的时间 ...

  7. MarkDown的练习_Java开发学习路径

    MarkDown的练习 语言学习 C/C++语言 Java语言 基础四大件 数据结构与算法 操作系统 计算机网络 设计模式 数据库/SQL 私人令牌:42bb654f53941d5692e98b35f ...

  8. js-enter提交表单导致页面刷新问题

    问题:当页面只有一个文本框时,使用键盘enter操作执行提交表单的时候,会导致页面进行刷新,并且参数也会自动添加到url中. 解决办法: 1.给form添加onsubmit=return false; ...

  9. Hyper-v 虚拟机使用NAT方式连接网络

    最近因为搞docker的原因,卸掉了vb和vm,用上了hyper. 其实一直挺喜欢hyper-v的,但是一直都受虚拟网络的影响--hyper-v创建不了vm和vb使用的那种NAT连接方式. 默认使用外 ...

  10. ant-design 基础格式

    1 格式 <template> <div> <center><h1>这是·注册页面</h1></center> <a-fo ...