##主程序
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 ;
}
}
}