Java IO 实战:文件创建、读取、写入与删除教程

5星 · 超过95%的资源 需积分: 31 2 下载量 63 浏览量 更新于2024-09-12 收藏 44KB DOC 举报
"Java IO 流用于创建、读取、写入和删除文件,通过HTML表单上传文件,以及在服务器端处理文件操作" 在Java编程中,IO(Input/Output)流是处理数据输入和输出的核心机制。针对文件操作,Java提供了多种类和方法来实现文件的创建、读取、写入和删除。以下是一些关键知识点: 1. **文件创建**: - 使用`java.io.File`类创建文件对象,通过`File(String path)`构造函数指定文件路径。 - 调用`createNewFile()`方法来创建新的文件,但请注意,该方法并不确保文件夹结构存在,需要先创建文件夹。 2. **读取文件**: - 创建`FileInputStream`或`FileReader`对象,以二进制或文本方式打开文件。 - 使用`BufferedReader`或`DataInputStream`读取文件内容,通常配合`readLine()`或`read()`方法。 3. **写入文件**: - 使用`FileOutputStream`或`FileWriter`对象打开文件,进行写入操作。 - `BufferedWriter`和`DataOutputStream`可以提高写入效率,它们允许一次性写入大量数据。 - `write()`或`println()`方法用于写入文本,而`write(byte[])`用于写入二进制数据。 4. **删除文件**: - `File`对象的`delete()`方法用于删除文件,如果文件是空的,通常可以直接删除;如果文件包含内容,需要先关闭文件,然后再删除。 5. **文件上传**: - HTML表单中`<input type="file">`元素允许用户选择本地文件进行上传。 - JSP中,通过`multipart/form-data`编码类型接收文件上传,可以访问`HttpServletRequest`的`getPart()`或`getInputStream()`方法获取上传文件。 6. **处理文件上传**: - 示例代码中,`FormFile`对象代表上传的文件,通过`getInputStream()`获取文件内容。 - `doSmTh()`方法读取`InputStream`,这里使用`InputStreamReader`和`BufferedReader`逐行读取文本内容。 - 检查文件类型,如`.getFileName().toUpperCase().endsWith(".JPG")`用于判断是否为JPG图片文件。 7. **创建目录**: - `File`对象的`mkdir()`方法用于创建单级目录,`mkdirs()`创建多级目录。 8. **编码问题**: - 示例代码中的`contentType="text/html;charset=gb2312"`设置HTTP响应头的字符集,以处理中文字符。 - 使用`InputStreamReader`时,指定正确的字符编码,如`"MS932"`或`"gb2312"`,避免乱码问题。 9. **异常处理**: - 文件操作可能抛出`IOException`,因此在文件读写、删除和创建时,应包含适当的异常处理代码,确保程序的健壮性。 以上就是关于Java IO操作文件的关键知识点,涵盖了文件的创建、读取、写入、删除以及处理文件上传等常见操作。在实际应用中,还需要考虑线程安全、性能优化、错误处理和资源关闭等问题。