java 简易记事本 程序

package IO;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.OutputStreamWriter;

import java.io.PrintWriter;

import java.util.Scanner;

/**

* 简易记事本

* 程序启动后,要求用户输入一个文件名,然后对该文件进行写操作。

* 之后用户在控制台输入的每行字符串都按行写入到该文件,

* 当用户输入“exit”时程序退出。

* 使用流连接形式创建PrintWriter

* PrintWriter在创建时若第一个参数为流,那么就支持第二个参数,该参数为boolean类型

* 若值为true 时具有自动行刷新功能

* 即:每当使用println方法后会自动flush 需要注意,频繁fulsh 会提高实际IO次数;

* 这样会降低写效率,但是会提高写出数据的即时性

* @author 清风已来

*

*/

public class Noto {

public static void main(String[] args) throws Exception {

System.out.println("请输入一个文件名");

Scanner scan =new Scanner(System.in);

String fileName =scan.next();

FileOutputStream fos= new FileOutputStream(fileName);//fileName 文件名

OutputStreamWriter osw =new OutputStreamWriter(fos,"GBK");//转换流

PrintWriter pw =new PrintWriter(osw,true);//字符输出缓冲流//true 自动行刷新

System.out.println("请输入你的文件");

//String str= scan.next();

while(true) {

String line =scan.nextLine();

//pw.println(str);

if("exit".equals(line)) {

break;

}

pw.println(line);//此处需要对应 行刷新 不可以写 print不然没有效果

}

System.out.println("再见");

pw.close();

}

}