java输入输出流
从 Trac 迁移的文章
这是从旧校内 Wiki 迁移的文章,可能存在一些样式问题,您可以向 memset0 反馈。
原文章内容如下:
== erosion: ==
{{{
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.util.StringTokenizer;
public class Main {
void run() {
try {
InputStream inputStream = new FileInputStream("input");
InputReader in = new InputReader(inputStream);
PrintWriter out = new PrintWriter(System.out,true);
//PrintWriter默认不自动刷新,所以要加上true使其自动刷新才能正常输出。否则就要在最后加上out.flush()。
int a;
while (true) {
try {
a = in.nextInt();
out.println(a);
} catch (RuntimeException e) {
return;
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
public static void main(String args[]) {
new Main().run(); //
}
}
class InputReader {
public BufferedReader reader;
public StringTokenizer tokenizer; //token有英语单词的意思...
public InputReader(InputStream stream) {
reader = new BufferedReader(new InputStreamReader(stream), 32768);
tokenizer = null;
}
public String next() {
while (tokenizer == null || !tokenizer.hasMoreTokens()) { //等于null判断是为了判断空行的情况
try {
tokenizer = new StringTokenizer(reader.readLine());
} catch (IOException e) {
throw new RuntimeException(e);
}
}
return tokenizer.nextToken();
}
public int nextInt() { return Integer.parseInt(next()); }
public double nextdouble() { return Double.parseDouble(next()); }
}
}}}
erosion:
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.util.StringTokenizer;
public class Main {
void run() {
try {
InputStream inputStream = new FileInputStream("input");
InputReader in = new InputReader(inputStream);
PrintWriter out = new PrintWriter(System.out,true);
//PrintWriter默认不自动刷新,所以要加上true使其自动刷新才能正常输出。否则就要在最后加上out.flush()。
int a;
while (true) {
try {
a = in.nextInt();
out.println(a);
} catch (RuntimeException e) {
return;
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
public static void main(String args[]) {
new Main().run(); //
}
}
class InputReader {
public BufferedReader reader;
public StringTokenizer tokenizer; //token有英语单词的意思...
public InputReader(InputStream stream) {
reader = new BufferedReader(new InputStreamReader(stream), 32768);
tokenizer = null;
}
public String next() {
while (tokenizer == null || !tokenizer.hasMoreTokens()) { //等于null判断是为了判断空行的情况
try {
tokenizer = new StringTokenizer(reader.readLine());
} catch (IOException e) {
throw new RuntimeException(e);
}
}
return tokenizer.nextToken();
}
public int nextInt() { return Integer.parseInt(next()); }
public double nextdouble() { return Double.parseDouble(next()); }
}