Java是一种流行的编程语言,其在处理输入/输出(I/O)时非常强大且灵活。Java提供了一组用于读取和写入数据的输入流和输出流。
输入流是从外部源(例如文件)读取数据的流。与之对应的是输出流,它将数据写入外部源。Java面向对象的I/O机制以字节流为基础,根据数据来源的不同,可以使用不同的输入/输出流。通常可以使用FileInputStream和FileOutputStream类分别从文件中读取和写入数据。
//读取文件数据FileInputStream inputStream = null;try{inputStream = new FileInputStream("file.txt");byte[] buffer = new byte[1024];int len = 0;while((len = inputStream.read(buffer)) != -1){String data = new String(buffer, 0, len);System.out.println(data);}} catch (IOException e) {e.printStackTrace();}finally {if(inputStream != null){try{inputStream.close();}catch(IOException e){e.printStackTrace();}}}//向文件中写入数据FileOutputStream outputStream = null;try{outputStream = new FileOutputStream("file.txt");String data = "Hello, Java!";outputStream.write(data.getBytes());} catch (IOException e) {e.printStackTrace();}finally {if(outputStream != null){try{outputStream.close();}catch(IOException e){e.printStackTrace();}}}此外,Java还提供了其他类型的流,例如字符流和缓存流。对于字符数据,可以使用字符流(如FileReader和FileWriter),而缓存流(如BufferedInputStream和BufferedOutputStream)可以在读写数据时提高处理速度。
在使用Java I/O时,建议始终使用try-with-resources语句块,以确保在完成读写操作后正确关闭输入/输出流。