Java是一种广泛使用的编程语言,之所以广泛使用,是因为Java可以操作各种类型的数据。Java中有两种主要的文件输入输出方式:字符流和字节流。
字符流和字节流之所以不同,是因为它们处理文件和数据的方式不同。字符流以字符作为单位,字节流以字节作为单位。
字符流的输入输出是通过字符进行的,这些字符是Unicode字符。要使用字符流,需要使用Java.io包中的InputStreamReader和OutputStreamWriter类,它们分别使用InputStream和OutputStream作为输入和输出。下面是一个使用字符流读取文件的例子:
try (FileReader reader = new FileReader("file.txt"); BufferedReader br = new BufferedReader(reader)) { String line; while ((line = br.readLine()) != null) { System.out.println(line); } } catch (IOException e) { e.printStackTrace(); }
字节流的输入输出是通过字节进行的,这些字节是8位的。要使用字节流,需要使用Java.io包中的InputStream和OutputStream类。下面是一个使用字节流写入文件的例子:
String data = "Hello, world!"; try (FileOutputStream fos = new FileOutputStream("file.txt")) { byte[] byteData = data.getBytes(); fos.write(byteData); } catch (IOException e) { e.printStackTrace(); }
总之,字符流和字节流各有优缺点。字符流适合处理文本文件,而字节流适合处理二进制数据。