JAVA输入

简介: JAVA输入

JAVA输入/输出

 

在 Java 中,输入/输出(I/O)是通过 java.io 包提供的。这个包包含了一系列的类和接口,用于读写文件、网络资源和其他输入/输出源。以下是 Java I/O 的一些基本概念和常用类:

 

文件 I/O

 

文件读取

 

FileReader:用于读取字符文件。

 

BufferedReader:包装一个 Reader 对象,提供缓冲功能,以提高读取性能。

 

java

 

复制

 

try (BufferedReader br = new BufferedReader(new FileReader("file.txt"))) { String line; while ((line = br.readLine()) != null) { System.out.println(line); } } catch (IOException e) { e.printStackTrace(); }

 

文件写入

 

FileWriter:用于写入字符文件。

 

BufferedWriter:包装一个 Writer 对象,提供缓冲功能,以提高写入性能。

 

java

 

复制

 

try (BufferedWriter bw = new BufferedWriter(new FileWriter("file.txt"))) { bw.write("Hello, World!"); bw.newLine(); bw.write("This is a test."); } catch (IOException e) { e.printStackTrace(); }

 

输入流和输出流

 

InputStream 和 OutputStream:这两个抽象类是所有输入/输出处理的基础。

 

InputStream 的常见实现包括 FileInputStream、ByteArrayInputStream 等。

 

OutputStream 的常见实现包括 FileOutputStream、ByteArrayOutputStream 等。

 

缓冲流

 

BufferedInputStream 和 BufferedOutputStream:为 InputStream 和 OutputStream 提供缓冲功能,以提高读写性能。

 

数据流

 

DataInputStream 和 DataOutputStream:用于读写基本数据类型和字符串。

 

对象流

 

ObjectInputStream 和 ObjectOutputStream:用于读写对象序列化数据。

 

Scanner 类

 

Scanner 类用于解析文本,可以使用正则表达式来解析不同的类型。

 

java

 

复制

 

try (Scanner scanner = new Scanner(new File("file.txt"))) { while (scanner.hasNextLine()) { String line = scanner.nextLine(); System.out.println(line); } } catch (FileNotFoundException e) { e.printStackTrace(); }

 

System 类的 I/O 方法

 

System.in、System.out 和 System.err:分别代表标准输入、标准输出和标准错误流。

 

try-with-resources 语句

 

Java 7 引入了 try-with-resources 语句,用于自动管理资源(如文件、网络连接等),确保资源在使用后正确关闭。

 

java

 

复制

 

try (BufferedReader br = new BufferedReader(new FileReader("file.txt"))) { // 使用资源 } catch (IOException e) { // 处理异常 } // 资源自动关闭

 

NIO(New I/O)

 

Java NIO(java.nio 包)提供了一种新的 I/O 编程模型,它具有更好的性能和可伸缩性,特别适合于网络和文件 I/O。

 

Java 的 I/O 类库非常丰富,提供了多种方式来处理不同类型的 I/O 操作。掌握这些类库对于进行文件操作、网络编程和数据处理非常重要。

相关文章
|
2月前
|
Oracle 架构师 Java
【一步一步了解Java系列】:初始Java
【一步一步了解Java系列】:初始Java
21 1
|
5月前
|
Java
【Java】程序练习1(数组)
【Java】程序练习1(数组)
|
7月前
|
存储 Java
Java的`java.io`包包含多种输入输出类
【5月更文挑战第2天】Java的`java.io`包包含多种输入输出类。此示例展示如何使用`FileInputStream`从`input.txt`读取数据。首先创建`FileInputStream`对象,接着分配一个`byte`数组存储流中的数据。通过`read()`方法读取数据,然后将字节数组转换为字符串打印。最后关闭输入流释放资源。`InputStream`是抽象类,此处使用其子类`FileInputStream`。其他子类如`ByteArrayInputStream`、`ObjectInputStream`和`BufferedInputStream`各有特定用途。
308 1
|
7月前
|
Java Unix Shell
Java的path的设置与应用
Java的path的设置与应用
160 0
|
7月前
|
安全 Java 编译器
【Java SE语法篇】1.初始Java
【Java SE语法篇】1.初始Java
|
存储 小程序 Java
第一个Java程序(初识Java)
第一个Java程序(初识Java)
106 0
|
存储 Java
强哥说Java--Java 变量
强哥说Java--Java 变量
77 0
|
Java 关系型数据库 MySQL
【Java】Java连接Mysql数据库的demo示例
【Java】Java连接Mysql数据库的demo示例
273 0
【Java】Java连接Mysql数据库的demo示例
1087 有多少不同的值(JAVA)
当自然数 n 依次取 1、2、3、……、N 时,算式 ⌊n/2⌋+⌊n/3⌋+⌊n/5⌋ 有多少个不同的值?(注:⌊x⌋ 为取整函数,表示不超过 x 的最大自然数,即 x 的整数部分。)
1087 有多少不同的值(JAVA)
Java——18个Demo带你玩转Java中的I/O流
Java——18个Demo带你玩转Java中的I/O流
Java——18个Demo带你玩转Java中的I/O流