最基础的IO代码,问题就一个,不用看完代码,请看下面的注释。
import java.io.*;public class BasicFileOutput {
static String file = "BasicFileOutput.out";
public static void main(String[] args)
throws IOException {
BufferedReader in = new BufferedReader(
new StringReader(
BufferedInputFile.read("BasicFileOutput.java")));
PrintWriter out = new PrintWriter(
new BufferedWriter(new FileWriter(file)));
int lineCount = 1;
String s;
while((s = in.readLine()) != null )
out.println(lineCount++ + ": " + s); //这里PrintWriter调用了println
out.close();
System.out.println(BufferedInputFile.read(file)); //那么这里为什么还要显示的调用 println 呢?而且注释掉
//这句话还不能输出。难道 PrintWriter 的 println 不是打印?可是JDK上看说是打印啊.
}
}
import java.io.*;public class BasicFileOutput {
static String file = "BasicFileOutput.out";
public static void main(String[] args)
throws IOException {
BufferedReader in = new BufferedReader(
new StringReader(
BufferedInputFile.read("BasicFileOutput.java")));
PrintWriter out = new PrintWriter(
new BufferedWriter(new FileWriter(file)));
int lineCount = 1;
String s;
while((s = in.readLine()) != null )
out.println(lineCount++ + ": " + s); //这里PrintWriter调用了println
out.close();
System.out.println(BufferedInputFile.read(file)); //那么这里为什么还要显示的调用 println 呢?而且注释掉
//这句话还不能输出。难道 PrintWriter 的 println 不是打印?可是JDK上看说是打印啊.
}
}
PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(file)));这个是什么?是对应一个文件的printwriter,那么它的打印会打印在哪?当然是在文件里面了而System.out是什么?它是控制台 的打印器,当然打印在控制台了
这句话的out不是屏幕,而是文件。所以这里的println是往文件里面写入。
System.out.println(BufferedInputFile.read(file));
这里的out才是屏幕,这里的println才是往屏幕上输出。
回答4楼的,BufferedInputFile 是另外一个类,将输入流转成StringBuild的。