试了一下,没有写入啊 public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new FileWriter("c:/sysin.txt"));
String str = "Test";
while (null != (str = br.readLine())) {
if (!"exit".equals(str)) {
bw.write(str,0,str.length());
System.out.println("Write : "+str);
} else {
System.out.println("Exit Success!");
System.exit(0);
}
}
br.close();
bw.close();
}
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new FileWriter("c:/sysin.txt"));
String str = "Test";
while (null != (str = br.readLine())) {
if (!"exit".equals(str)) {
bw.write(str,0,str.length());
System.out.println("Write : "+str);
} else {
System.out.println("Exit Success!");
System.exit(0);
}
}
br.close();
bw.close();
}
BufferedWriter close()的源码public void close() throws IOException {
synchronized (lock) {
if (out == null) {
return;
}
try {
flushBuffer();
} finally {
out.close();
out = null;
cb = null;
}
}
每次都flush 缓冲区不就没作用了吗?
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new FileWriter("c:/sysin.txt"));
String str = "Test";
while (null != (str = br.readLine())) {
if (!"exit".equals(str)) {
bw.write(str,0,str.length());
System.out.println("Write : "+str);
} else {
bw.flush();
br.close();
bw.close();
System.out.println("Exit Success!");
System.exit(0);
}
}
br.close();
bw.close();
}