Java I/O(输入/输出)主要被用来处理输入数据和输出结果。
在Java中,输入/输出操作被当作流(Stream)进行处理。流是一个连续的数据流入或数据流出的通道。流操作在Java中主要可以分为两种类型:字节流和字符流。
一、字节流
字节流可以处理所有类型的数据(如图片,视频,音频等)。在Java的java.io
包中,包含了所有操作输入/输出的类和接口。这些类和接口均被设计为字节流形式。
字节流的两个基类是:
- InputStream:所有的字节输入流类都是这个类的子类
- OutputStream:所有的字节输出流类都是这个类的子类。
以下是一个使用字节流读取数据的例子:
import java.io.*;
public class TestByteStream {
public static void main(String args[]) {
try {
byte bWrite[] = {11,21,3,40,5};
OutputStream os = new FileOutputStream("test.txt");
for (int i = 0; i bWrite.length; i++) {
os.服务器托管网write(bWrite[i]);
}
os.close();
InputStream is = new FileInputStream("test.txt");
int size = is.available();
for (int i = 0; i size; i++) {
System.out.print((char) is.read() + " ");
}
is.close();
} catch (IOException e) {
System.out.println("Exception: " + e);
}
}
}
二、字符流
相对于字节流,字符流处理的是字符数据,专门用于处理文本(String,char等)。字符流的基类是Reader和Writer。
- Reader:所有的字符输入流类都是这个类的子类。
- Writer:所有的字符输出流类都是这个类的子类。
以下是一个使用字符流读取数据的例子:
import java.io.*;
public class TestCharStream {
public static void main(String args[]) throws IOException {
char c[] = new char[30];
Reader read = new FileReader("test.txt");
int len = read.read(c);
System.out.println("从文件中读取的字符数 : " + len);
for (int i = 0; i len; i++) {
System.out.print(c[i]);
}
read.close();
}
}
在处理输入/输出流时,需要注意的是,系统不会自动关闭流,需要我们手动调用close()
方法来关闭流,防止出现数据的丢失。
通过以上的介绍,希望你对Java中的输入/输出流有了更多的了解。在Java编程中,合理地使用这两种流能够提高我们代码的效率和健壮性。
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
三角形最小路径和 难度:中等 题目描述 给定一个三角形 triangle ,找出自顶向下的最小路径和。 每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。也就是说,如果正…