Java文件读写操作详解: FileInputStream与FileOutputStream实例
66 浏览量
更新于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流体系。
2007-07-17 上传
2010-06-21 上传
2012-06-07 上传
2016-08-03 上传
125 浏览量
2009-07-24 上传
2008-12-16 上传
2011-01-09 上传
2010-05-08 上传
weixin_38514526
- 粉丝: 7
- 资源: 930
最新资源
- MATLAB实现小波阈值去噪:Visushrink硬软算法对比
- 易语言实现画板图像缩放功能教程
- 大模型推荐系统: 优化算法与模型压缩技术
- Stancy: 静态文件驱动的简单RESTful API与前端框架集成
- 掌握Java全文搜索:深入Apache Lucene开源系统
- 19计应19田超的Python7-1试题整理
- 易语言实现多线程网络时间同步源码解析
- 人工智能大模型学习与实践指南
- 掌握Markdown:从基础到高级技巧解析
- JS-PizzaStore: JS应用程序模拟披萨递送服务
- CAMV开源XML编辑器:编辑、验证、设计及架构工具集
- 医学免疫学情景化自动生成考题系统
- 易语言实现多语言界面编程教程
- MATLAB实现16种回归算法在数据挖掘中的应用
- ***内容构建指南:深入HTML与LaTeX
- Python实现维基百科“历史上的今天”数据抓取教程