1,什么是 Java IO ?
Java IO 就是将一组有顺序的、单向的数据集合进行输入或者输出,这样的传输形式类似于水流的形式,因此也被称作“流”。总的来说 Java 的 IO 形式又可分为两种,一种是字节流、另一种是字符流,一般情况下,字节流和字符流又可以进行相互转换。
2,实现最简单的输入输出流
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String dataLine = null;
do {
try {
dataLine = br.readLine();
System.out.println("数据:" + dataLine);
} catch (IOException e) {
System.err.println("发生异常:" + e.getMessage());
}
} while (!dataLine.equals("Q"));
}
}
使用 System.in 进行控制台输入,使用输入流读取每行字符串然后打印。在 java5 之后的版本也可以直接使用 Scanner scan = new Scanner(System.in); 进行控制台数据接收。而上述代码中的 System.out.println(“数据:” + dataLine); 其实也是将数据进行输出,也可以看作是输出流的一种。
3,文件流的输入输出
(1)输入流读取文件
首先,在 C 盘下面创建一个文件 data.txt,其次,使用输入流将其读取后输出到控制台即可。
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
public class Main {
public static void main(String[] args) {
try {
// 文件输入
InputStream inputStream = new FileInputStream("C:/data.txt");
// 字符长度
int length = inputStream.available();
// 遍历读取字符
for (int i = 0; i < length; i++) {
char ch = (char) inputStream.read();
System.out.println("数据:" + ch);
}
} catch (IOException e) {
// 异常处理
System.err.println("发生异常:" + e.getMessage());
}
}
}
(2)输出流写入文件
首先,在 C 盘下面创建一个文件 data.txt,其次,使用输出流获取文件后将其写入即可。
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class Main {
public static void main(String[] args) {
// 字节数组
byte [] byteData = {'w','c','e','d','u'};
try {
// 文件输出
OutputStream outputStream = new FileOutputStream("C:/data.txt");
int i = 0;
// 遍历字节数组,写入文件
while (i < byteData.length) {
outputStream.write(byteData[i]);
i++;
}
} catch (FileNotFoundException e) {
// 处理异常1
e.printStackTrace();
} catch (IOException e) {
// 处理异常2
e.printStackTrace();
}
}
}
当然,流的使用形式非常多,上述代码块只是比较常见的形式,有兴趣的童鞋还可以继续深究。
欢迎关注 “老王说编程“,每天进步一点点,您的每一个点赞、在看、分享都是在致力于减少 “攻城狮” 产出的 BUG。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。