标签:返回 ring put 一个 bcd puts dem 方式 fileread
Java 中的输入/输出流一共有2种4个类。分别为字节类型的输入——InputStream、输出——OutputStream,字符类型的输入——Reader、输出——Writer。
四种输入输出流都是抽象类,在读取不同的内容时,分别使用对应的实现类去读取即可。
以读写文件为例,使用这四种类如下。
使用到的实现类为FileInputStream。
File file = new File("E:\\Documents\\demo.txt");
InputStream is = new FileInputStream(file);
int readLengthATime = 128;
byte[] bytes = new byte[readLengthATime];
int length;
while((length = is.read(bytes,0,readLengthATime))!=-1) {
System.out.println(length);
System.out.println(new String(bytes));
System.out.println("----------------------");
}
is.close();
128
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
111 222 333 444 555 666 777 888 999
苟利国家生死以,岂因祸?
----------------------
15
?避趋之。
pqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
111 222 333 444 555 666 777 888 999
苟利国家生死以,岂因祸?
----------------------
使用到的实现类为FileOutputStream。
File file = new File("E:\\Documents\\demoO.txt");
OutputStream os = new FileOutputStream(file);
String toWrite = "abcdefghijklmnopqrstuvwxyz\n" +
"ABCDEFGHIJKLMNOPQRSTUVWXYZ\n" +
"111 222 333 444 555 666 777 888 999\n" +
"苟利国家生死以,岂因祸福避趋之。\n";
os.write(toWrite.getBytes());
os.close();
使用到的实现类为FileReader。FileReader与InputStreamReader差不多,其实内部只是封装了一步由File到InputStream再到InputStreamReader的过程。
File file = new File("E:\\Documents\\demo.txt");
Reader r = new FileReader(file);
int readLengthATime = 32;
char[] chars = new char[readLengthATime];
int length;
while((length = r.read(chars,0,readLengthATime))!=-1) {
System.out.println(length);
System.out.println(new String(chars));
System.out.println("----------------------");
}
r.close();
32
abcdefghijklmnopqrstuvwxyz
ABCDE
----------------------
32
FGHIJKLMNOPQRSTUVWXYZ
111 222 33
----------------------
32
3 444 555 666 777 888 999
苟利国家生死
----------------------
11
以,岂因祸福避趋之。
66 777 888 999
苟利国家生死
----------------------
使用到的实现类为FileWriter。FileWriter与InputStreamWriter差不多,其实内部只是封装了一步由File到OutputStream再到OutputStreamWriter的过程。
File file = new File("E:\\Documents\\demoO.txt");
Writer w = new FileWriter(file);
String toWrite = "abcdefghijklmnopqrstuvwxyz\n" +
"ABCDEFGHIJKLMNOPQRSTUVWXYZ\n" +
"111 222 333 444 555 666 777 888 999\n" +
"苟利国家生死以,岂因祸福避趋之。\n";
w.write(toWrite);
w.close();
标签:返回 ring put 一个 bcd puts dem 方式 fileread
原文地址:https://www.cnblogs.com/pravez/p/12539743.html