为了面试,看java的I/O流。例子是看了很多,可究竟掌握的怎么样,不知道。看烦了,就写了这个小程序。
就是在控制台A跟B聊天,然后把聊天类容分行写入文件。
import java.io.*; import java.util.Scanner; public class Self{ public static void main(String[] args){ Scanner scanner=new Scanner(System.in); String self=""; int i=0; try{File file=new File("d:/self.txt"); //创建一个self.txt的文件 while(true){ i++; if(i%2==1){ System.out.println("A:"); OutputStream out=new FileOutputStream(file,true); //创建一个到file的输出流,调用这个构造方法,可以每次都把控制台的内容写入到文件 self=scanner.nextLine(); //读取scanner里的内容,必须调用nextLine()方法,才能读取一次性输入;next()只识别一个单词 String self1="A:"+self+"\r"+"\n"; //后面是为了分行 byte[] bytes=self1.getBytes(); out.write(bytes); out.close(); }else{ System.out.println("B:"); OutputStream out=new FileOutputStream(file,true); self=scanner.nextLine(); String self2="B:"+self+"\r"+"\n"; byte[] b=self2.getBytes(); out.write(b); out.close(); } } }catch(Exception e){ e.printStackTrace(); } } }
这是效果图