利用java编写的记事本程序

##主程序

package io;
import java.io.IOException;
import java.util.Scanner;
/**
 * 记事本的主方法
 * @author Lemon
 *
 */
public class MainTest {
	public static void main(String[] args) throws IOException {
		System.out.println("欢迎来到记事本");
		System.out.println("请选择功能:1:写记事本,2:读记事本,3:查询记事本,4.其他数字退出");
		Scanner sc=new Scanner(System.in);
		int a=sc.nextInt();
		switch (a) {
		case 1:
			PWDemo3.insert();
			break;
		case 2:
			PRDemo3.query();
			break;
		case 3:
			ListFileDemo3.show();
			break;
		default:
			return ;
		}
	}
}

写记事本

package io;

import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.util.Scanner;

/**
 * 实现简单记事本工具
 * 程序启动后,要求输入文件名,然后对文件写内容.将后续在控制台输入的每行字符串都按行写入到该文件中,单独输入了exit时,程序退出
 * 
 * 要求:自行使用流连接创建pw
 * @author Lemon
 *
 */
public class PWDemo3 {
	public static void insert() throws IOException {
		Scanner sc=new Scanner(System.in);
		String exit="exit";
		/*if(sc.next()=="exit") {
			return ;
		}*/
		System.out.println("欢迎来到记事本写入功能");
		System.out.println("请输入要写的文件名:");
		String file=sc.nextLine();
		if(file.equals(exit)) {
			return ;
		}
		FileOutputStream fis=new FileOutputStream(file+".txt");
		OutputStreamWriter osr=new OutputStreamWriter(fis,"utf-8");
		BufferedWriter bw=new BufferedWriter(osr);
		PrintWriter pw=new PrintWriter(bw);
		while(true) {
			System.out.println("请输入要保存的内容:");
			String str=sc.next();
			if(str.equals(exit)) {
				System.out.println("写入完毕,主人");
				pw.close();
				return ;
			}
			pw.println(str);
			pw.flush();
		}
	}
}

读记事本

package io;

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.Reader;
import java.util.Scanner;

/**
 * 实现简单查看记事本工具
 * 程序启动后,要求输入文件名,然后输出到控制台,单独输入了exit时,程序退出
 * @author Lemon
 *
 */
public class PRDemo3 {
	public static void query() throws IOException {
		System.out.println("欢迎来到记事本查询功能");
		Scanner sc=new Scanner(System.in);
		System.out.println("请输入要查询记事本的名称:");
		String file=sc.next();
		if(file.equals("exit")) {
			return ;
		}
		FileInputStream fis=new FileInputStream(file+".txt");
		InputStreamReader isr=new InputStreamReader(fis,"utf-8");
		BufferedReader br = new BufferedReader(isr);
		char [] data=new char[1024];
		int len = -1;
		while((len = br.read(data))!=-1){
			String str =new String(data,0,len);
			System.out.println(str);
		}	
	}
}

查询记事本名称

package io;

import java.io.File;
import java.io.FileFilter;
import java.util.Scanner;

/**
 *访问一个目录的所有子项
 * @author Administrator
 *
 */
public class ListFileDemo3 {
	public static void show() {
		File dir=new File(".");
		if(dir.isDirectory()) {
		File[] subs=dir.listFiles(
				new FileFilter() {
					@Override
					public boolean accept(File file) {
					String name=file.getName();
//					System.out.println("正在过滤"+name);
					return name.endsWith(".txt");
			}
		}
				);
		for(int i=0;i<subs.length;i++) {
			System.out.println(subs[i].getName());
		}	
	}
		System.out.println("输出exit退出");
		Scanner sc = new Scanner(System.in);
		if(sc.next().equals("exit")) {
			return ;
		}
}
}

猜你喜欢

转载自blog.csdn.net/qq_37669050/article/details/97910579