Java文件读写操作详解: FileInputStream与FileOutputStream实例
143 浏览量
更新于2024-09-01
收藏 192KB PDF 举报
"Java文件的简单读写操作方法实例分析"
在Java编程中,对文件进行读写操作是常见的任务,这通常涉及到I/O流(Input/Output Stream)的使用。本文将详细介绍如何使用Java进行文件的读写,并提供相关的实例。
首先,Java中的`FileInputStream`类用于从文件中读取数据。你可以通过以下两种方式创建一个`FileInputStream`对象:
1. 使用字符串类型的文件路径:
```java
String filename = "D:\\java运行环境\\ZHL\\src\\java2018_8_5五子棋\\GobangMain.java";
InputStream in = new FileInputStream(filename);
```
2. 或者使用`File`对象:
```java
File f = new File("D:\\java运行环境\\ZHL\\src\\java2018_8_5五子棋\\GobangMain.java");
InputStream in = new FileInputStream(f);
```
创建对象后,可以调用其方法进行读取操作,如`close()`用于关闭流并释放资源,`read(int)`读取单个字节,`read(byte[])`读取多个字节,以及`available()`获取未读取的字节数。
接着,`FileOutputStream`类用于向文件中写入数据。如果目标文件不存在,`FileOutputStream`会自动创建。同样有两种创建方式:
1. 使用字符串路径:
```java
OutputStream out = new FileOutputStream("D:\\android\\file_operation\\test.txt");
```
2. 使用`File`对象:
```java
File file = new File("D:\\android\\file_operation\\test.txt");
OutputStream out = new FileOutputStream(file);
```
对于写入操作,你可以使用`write(int)`方法写入单个字节,`write(byte[])`方法写入字节数组。完成写入后,别忘了调用`close()`方法关闭流。
进行文件读写时,需要注意以下几点:
1. 异常处理:由于文件操作可能抛出异常,如`FileNotFoundException`和`IOException`,所以应该使用`try-catch`语句块来捕获并处理这些异常。
2. 关闭流:操作完成后,记得调用`close()`方法关闭流,避免资源泄漏。
3. 缓冲区使用:为了提高效率,通常会使用`BufferedInputStream`和`BufferedOutputStream`,它们提供缓冲区以减少磁盘I/O次数。
4. 文件追加:如果希望在现有文件末尾追加内容,可以使用`FileOutputStream`的构造函数,传入`true`作为第二个参数,如`new FileOutputStream(file, true)`。
了解以上基本操作后,你可以根据需求组合使用这些方法,实现复杂的文件读写功能。例如,使用循环读取文件的每个字节,或者写入字符串时先将其转换为字节数组。在实际项目中,还可能涉及字符编码、文件复制、文件移动等更复杂的操作,但基本思路都基于Java的I/O流体系。
165 浏览量
242 浏览量
2012-06-07 上传
点击了解资源详情
2016-08-03 上传
558 浏览量
147 浏览量
2009-07-24 上传
149 浏览量

weixin_38514526
- 粉丝: 7
最新资源
- 室内装修官网模板下载:10子页面高端酒店风
- 掌握Vue.js项目:Udemy VueJS教程实战指南
- iOS列表视图下拉效果实现教程
- Java操作MongoDB非关系数据库的实践指南
- 淘宝菜单分类导航的探索与优化方法
- 中科大软件工程考研必备:数据结构资料大全
- 掌握mikes编码博客的创建与发布流程
- 易语言实现清空回收站功能的详细教程
- Whatsmyserp-crx插件:Google搜索关键词研究利器
- PHP开源股票配资源码发布,含完整后台功能
- 内存监控工具展示:深入分析Cool显示技术
- BluePrint2.0: 极坐标系中的点绘制与度量工具
- 实现iOS scrollView的无缝循环滑动效果
- 一键迁移mysql联系人到Google联系人的PHP脚本
- Python实现的HTML文本解析工具介绍
- Chrometana Pro扩展:重定向Cortana到Google Chrome