Java IO流是Java编程中非常重要的一部分,它分为字符流和字节流两种类型。
字符流是以字符为单位处理数据的流,它可以处理文本文件及其它文本文件中的数据类型,例如字符串。在处理字符流时,数据的大小通常比较大,因此需要使用缓存区来提高读取速度。Java中常用的字符流类包括Reader和Writer。
Reader reader = new FileReader("file.txt"); BufferedReader bufferedReader = new BufferedReader(reader); String line; while ((line = bufferedReader.readLine()) != null) { System.out.println(line); } bufferedReader.close();
上述代码展示了如何使用字符流读取文件内容,将一个字符一个字符的读取,可以使用BufferedReader提高读取速度。
与字符流不同,字节流是以字节为单位读取数据的流,处理的对象是二进制文件。在处理字节流时,数据的大小通常比较小,因此不需要缓冲区。Java中常用的字节流类包括InputStream和OutputStream。
InputStream inputStream = new FileInputStream("file.bin"); OutputStream outputStream = new FileOutputStream("copy.bin"); byte[] buffer = new byte[1024]; int len; while ((len = inputStream.read(buffer)) != -1) { outputStream.write(buffer, 0, len); } inputStream.close(); outputStream.close();
上述代码展示了如何使用字节流读取二进制文件,并将读取的数据写入到另一个文件中,可以使用缓冲区来提高读取速度。