Class CharArrayReader
这个类实现了一个可以用作字符输入流的字符缓冲区。
常用方法
int read()
Reads a single character.
读取一个字符
int read(char[] b, int off, int len)
Reads characters into a portion of an array.
读取多个字符到数组中
测试
public class demo1 {
public static void main(String[] args) {
char[] buffer= new char[1024];
CharArrayReader charArrayReader = new CharArrayReader("BAT".toCharArray());
int length = 0;
try {
while ((length = charArrayReader.read(buffer)) != -1) {
System.out.println(buffer);
}
} catch (IOException e) {
e.printStackTrace();
}finally {
charArrayReader.close();
}
}
}
CharArrayWriter
public class demo2 {
public static void main(String[] args) {
CharArrayWriter charArrayWriter = new CharArrayWriter();
charArrayWriter.write(97);
charArrayWriter.write(98);
charArrayWriter.write(99);
System.out.println(charArrayWriter);
charArrayWriter.close();
}
}
BufferedReader
特殊方法
String readLine()
Reads a line of text.
读取一行
测试
public class demo1 {
public static void main(String[] args) {
BufferedReader reader = null;
try {
reader = new BufferedReader(new FileReader("abc.txt"));
String read = null;
while((read = reader.readLine())!= null){
System.out.println(read);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
BufferedWriter
特殊方法
void newLine()
Writes a line separator.
换行
测试
public class demo2 {
public static void main(String[] args) {
BufferedWriter bufferedWriter = null;
FileWriter fileWriter = null;
try {
fileWriter = new FileWriter(new File("aaa.txt"));
bufferedWriter = new BufferedWriter(fileWriter);
bufferedWriter.write("bufferwriter");
bufferedWriter.newLine();
bufferedWriter.append("append");
bufferedWriter.flush();
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
fileWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
try {
bufferedWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
标准输入、标准输出
标准输入:System.in
标准输出:System.out
错误输出:System.err
实现在控制台输入内容,自动打印输入的内容,当输入exit时结束程序。
public class test {
public static void main(String[] args) {
InputStreamReader inputStreamReader = new InputStreamReader(System.in);
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(System.out);
BufferedWriter bufferedWriter = new BufferedWriter(outputStreamWriter);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
try {
String str = "";
while(!str.equals("exit")){
str = bufferedReader.readLine();
bufferedWriter.write(str);
bufferedWriter.flush();
} } catch (IOException e) {
e.printStackTrace();
}finally {
try {
inputStreamReader.close();
} catch (IOException e) {
e.printStackTrace();
}
try {
outputStreamWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
try {
bufferedReader.close();
} catch (IOException e) {
e.printStackTrace();
}
try {
bufferedWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
省略写法:
public class test2 {
public static void main(String[] args) {
try( InputStreamReader inputStreamReader = new InputStreamReader(System.in);
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(System.out);
BufferedWriter bufferedWriter = new BufferedWriter(outputStreamWriter);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);) {
String str = "";
while(!str.equals("exit")){
str = bufferedReader.readLine();
bufferedWriter.write(str);
bufferedWriter.flush();
} } catch (IOException e) {
e.printStackTrace();
}
}
}
通过IO流读取网页源代码
public class test3 {
public static void main(String[] args) {
BufferedReader bufferedReader = null;
BufferedWriter bufferedWriter = null;
try {
bufferedReader = new BufferedReader(new InputStreamReader(new URL("http://www.baidu.com").openStream(), "utf-8"));
bufferedWriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("baidu.html")));
String msg = null;
while ((msg = bufferedReader.readLine()) != null) {
bufferedWriter.write(msg);
bufferedWriter.newLine();
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
bufferedReader.close();
} catch (IOException e) {
e.printStackTrace();
}
try {
bufferedWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
打印流
public class demo {
public static void main(String[] args) {
PrintStream printStream =null;
try {
printStream = new PrintStream(System.out);
printStream.write("hello,world".getBytes());
printStream.println(true);
System.out.println();
//格式化输出
System.out.printf("%s--%d--%.2f","abc",111,111.111);
} catch (IOException e) {
e.printStackTrace();
}finally {
printStream.close();
}
}
}