Java IO流 FileOutputStream、FileInputStream的用法
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的用法 的更多相关文章
- Java IO流 FileOutputStream、FileInputStream的用法
FileOutputStream.FileInputStream的使用 FileOutputStream是OutputStream的继承类,它的主要功能就是向磁盘上写文件.FileOutputStre ...
- java Io流中FileInputStream和BufferedInputStream的速度比较
首先是对FileInputStream 加上 FileOutputStream 对文件拷贝的应用 我这里拷贝的是一个视频.当然,你们拷贝什么都可以,当文件越大时效果越明显 下面是对BufferedIn ...
- 【Java基础】Java IO流的总结
Java IO流分为输入流和输出流,而输入流和输出流中又分字符流和字节流.顾名思义,输入流则是输入到程序中计算,输出流是把程序的结果输出到文件或者设备.而字符流输入输出以字符为单位,字节流则是以字节为 ...
- Java:IO流与文件基础
Java:IO流与文件基础 说明: 本章内容将会持续更新,大家可以关注一下并给我提供建议,谢谢啦. 走进流 什么是流 流:从源到目的地的字节的有序序列. 在Java中,可以从其中读取一个字节序列的对象 ...
- java IO流详解
流的概念和作用 学习Java IO,不得不提到的就是JavaIO流. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...
- Java IO流学习总结
Java流操作有关的类或接口: Java流类图结构: 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...
- Java IO流题库
一. 填空题 Java IO流可以分为 节点流 和处理流两大类,其中前者处于IO操作的第一线,所有操作必须通过他们进行. 输入流的唯一目的是提供通往数据的通道,程序可以通过这个通道读取数 ...
- Java IO流总结
Java IO流分类以及主要使用方式如下: IO流 |--字节流 |--字节输入流 InputStream: int read();//一次读取一个字节 int read(byte[] bys);// ...
- java io流(字节流)复制文件
java io流(字节流) 复制文件 //复制文件 //使用字节流 //复制文本文件用字符流,复制其它格式文件用字节流 import java.io.*; public class Index{ pu ...
随机推荐
- 网络基础:ip地址
原文链接:http://blog.51cto.com/xiexiaojun/1882088 很棒的总结,概念+例题很清晰
- python 二维数组赋值问题
[[]]是一个含有一个空列表元素的列表,所以[[]]*3表示3个指向这个空列表元素的引用, 修改任何一个元素都会改变整个列表 所以需要用另外一种方式进行创建多维数组,以免浅拷贝 >>> ...
- 20190703_创建 unity 的配置节处理程序时出错: The type name or alias Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptionConfigurationExtension
创建 unity 的配置节处理程序时出错: The type name or alias Microsoft.Practices.Unity.InterceptionExtension.Configu ...
- 记一次MongoDB的失败导出
MongoDB用的是阿里云的,今天想着把原来的数据导出进行一次去重处理,整理下数据.操作了好几个小时,还是未能成功导出. MongoDB用的是阿里云的专有网络连接,本想通过公网直接访问,申请了公网地址 ...
- PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
注:网上搜来的快照,暂未验证 在java代码中请求https链接的时候,可能会报下面这个错误javax.net.ssl.SSLHandshakeException: sun.security.vali ...
- 第3章 Python的数据类型目录
第3.1节 功能强大的 Python序列概述 第3.2节 Python列表简介 第3.3节 强大的Python列表 第3.4节 泛善可陈的元组 第3.5节 丰富的Python字典操作 第3.6节 Py ...
- 转:为什么浏览器的user-agent字符串以'Mozilla'开头呢?
本文转自:https://blog.csdn.net/S_gy_Zetrov/article/details/79463093 感谢sgyzetrov翻译 如果熟悉元素审查的童鞋,很多都会发现requ ...
- PyQt学习随笔:ListView控件删除一项列表项的方法
ListView控件可以通过控件对应数据存储删除列表项,具体使用: 数据存储.removeRow(元素索引位置) 删除指定位置的一个列表项. 数据存储如果不知道程序定义的数据存储名,可以通过model ...
- CNVD漏洞证书(2)
第二张CNVD的原创漏洞证书. 关于证书申请可以看我之前写的这篇博客: https://www.cnblogs.com/Cl0ud/p/12720413.html 继续加油
- Paddle源码之内存管理技术
前言 在深度学习模型训练中,每次迭代过程中都涉及到Tensor的创建和销毁,伴随着的是内存的频繁 malloc和free操作,可能对模型训练带来不必要的 overhead. 在主流的深度学习框架中,会 ...