Java IO教程:实例解析文件操作

需积分: 1 0 下载量 38 浏览量 更新于2024-07-27 收藏 470KB DOC 举报
"Java IO处理教程" Java IO处理是Java编程中不可或缺的一部分,它涉及到对输入和输出数据的管理,包括文件操作、流处理、字符编码等。在Java中,IO API提供了丰富的类和方法来支持这些功能。本文档详细介绍了Java传统IO的基本内容,并通过实例来帮助理解。 首先,我们来看第一个案例——创建新文件。在Java中,可以通过`File`类的`createNewFile()`方法来创建一个新的文件。以下是一个简单的示例: ```java import java.io.*; public class Hello { public static void main(String[] args) { File f = new File("D:\\hello.txt"); try { f.createNewFile(); } catch (Exception e) { e.printStackTrace(); } } } ``` 当运行这段代码时,会在D盘下创建一个名为`hello.txt`的文件。注意,`File`对象的构造函数接受文件路径作为参数,这里使用双反斜杠(`\\`)是因为在Java字符串中,单个反斜杠会被当作转义字符,所以需要写成双反斜杠来表示实际的文件路径分隔符。 接下来,我们讨论`File`类的两个常量:`separator`和`pathSeparator`。这两个常量分别用于表示当前操作系统的文件分隔符和路径分隔符。在Windows系统中,文件分隔符是`\`,路径分隔符是`;`,而在Linux或Mac系统中则不同。因此,为了保证代码的跨平台性,应该使用这些常量而不是硬编码特定的字符。 例如,我们可以这样创建一个跨平台的文件路径: ```java import java.io.*; public class Hello { public static void main(String[] args) { String fileName = "D:" + File.separator + "hello.txt"; File f = new File(fileName); try { f.createNewFile(); } catch (Exception e) { e.printStackTrace(); } } } ``` 在这个例子中,`File.separator`确保了不论在哪个操作系统下,文件路径都能正确地分隔。 Java IO系统的核心是流(Stream),流分为字节流和字符流,又有输入流和输出流之分。字节流处理原始的字节数据,如图片或音频文件,而字符流则处理字符数据,如文本文件。Java提供了多种流类,如`InputStream`、`OutputStream`、`Reader`和`Writer`,它们是所有输入输出流的基类。例如,要读取文件,可以使用`FileInputStream`和`BufferedReader`,写入文件则可使用`FileOutputStream`和`PrintWriter`。 此外,Java还提供了缓冲流(Buffered Stream)和转换流(Converter Stream)来提高效率和灵活性。缓冲流可以在读写操作中减少磁盘I/O次数,而转换流则允许在字节流和字符流之间转换,如`InputStreamReader`和`OutputStreamWriter`。 Java IO处理涵盖了文件操作、流的读写、缓冲和转换等多个方面,是Java开发中必不可少的技能。通过实例学习和实践,可以更好地理解和掌握这些概念。本文档旨在提供基础,但更深入的探讨,例如NIO(New IO)和NIO.2(Java 7引入的改进),将在后续的文章中介绍。