欢迎访问宙启技术站
智能推送

Java中的IO函数:FileInputStream、BufferedReader等

发布时间:2023-06-06 04:50:47

Java中的IO函数主要有两类,一种是字节流(InputStream和OutputStream),另一种是字符流(Reader和Writer)。这两种流的操作对象都是文件或内存中的数据。

FileInputStream是一种字节流,用于读取文件中的数据。使用该函数需要先将文件路径传入File类的构造函数,如下所示:

File file = new File("file.txt");

FileInputStream fis = new FileInputStream(file);

可以使用read方法一次读取一个字节,也可以一次读取多个字节到一个byte数组中,如下所示:

int b;

while ((b=fis.read())!=-1){

    System.out.print((char) b);

}

byte[] buffer = new byte[1024];

int len;

while ((len=fis.read(buffer))!=-1){

    System.out.print(new String(buffer,0,len));

}

BufferedReader是一种字符流,用于按行读取文件中的数据。使用该函数需要将FileInputStream对象包装成一个InputStreamReader对象,并将其传入BufferedReader的构造函数。如下所示:

File file = new File("file.txt");

FileInputStream fis = new FileInputStream(file);

InputStreamReader isr = new InputStreamReader(fis);

BufferedReader br = new BufferedReader(isr);

可以使用readLine方法一次读取一行数据,如下所示:

String line;

while ((line=br.readLine())!=null){

    System.out.println(line);

}

另外还有一个常用的类PrintWriter,用于将数据写入文件。和BufferedReader一样,也需要将FileOutputStream对象包装成一个OutputStreamWriter对象,并将其传入PrintWriter的构造函数。如下所示:

File file = new File("file.txt");

FileOutputStream fos = new FileOutputStream(file);

OutputStreamWriter osw = new OutputStreamWriter(fos);

PrintWriter pw = new PrintWriter(osw);

可以使用print和println方法写入数据,如下所示:

pw.println("Hello World!");

pw.close();

除了以上提到的函数外,Java中还有很多其他的IO函数,如ByteArrayInputStream、ByteArrayOutputStream、ObjectInputStream、ObjectOutputStream等,它们也都是用于处理数据流的函数,并且都有它们各自的应用场景。在实际开发中,需要根据具体的业务需要选择合适的IO函数。