package yn.ngems.cn.util;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class InputUtil {
public static final BufferedReader INPUT = new BufferedReader(new InputStreamReader(System.in));
public static String getNameContent(String warn) {
String str = null;
boolean flag = true;
System.out.print(warn);
while(flag) {
try {
str = INPUT.readLine();
} catch (IOException e) {
e.printStackTrace();
}
if(!"".equals(str)) {
flag = false;
}else {
System.out.print("请重新输入:");
}
}
return str;
}
public static int getNumber(String warn) {
int num = 0;
String str = null;
boolean flag = true;
System.out.print(warn);
while(flag) {
try {
str = INPUT.readLine();
} catch (IOException e) {
e.printStackTrace();
}
if(str.matches("\\d+")) {
num = Integer.parseInt(str);
flag = false;
}else {
System.out.print("不是数字,重新输入:");
}
}
return num;
}
}
package yn.ngems.cn.Iinterface;
import java.io.File;
public interface ISaveFile {
public static final String SAVE_DIR = "D:" + File.separator + "NGKJ" + File.separator;
public boolean save();
}
package yn.ngems.cn.IinterfaceImpl;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintWriter;
import yn.ngems.cn.Iinterface.ISaveFile;
import yn.ngems.cn.util.InputUtil;
public class SaveFileImpl implements ISaveFile{
private String name;
private String content;
public SaveFileImpl() {
this.name = InputUtil.getNameContent("请输入文件名字:");
this.content = InputUtil.getNameContent("请输入内容:");
}
@Override
public boolean save() {
File file = new File(ISaveFile.SAVE_DIR + this.name);
PrintWriter output = null;
try {
output = new PrintWriter(new FileOutputStream(file));
output.print(this.content);
} catch (FileNotFoundException e) {
return false;
}finally {
if(output != null) {
output.close();
}
}
return true;
}
}
package yn.ngems.cn.factory;
import yn.ngems.cn.Iinterface.ICompareNumber;
import yn.ngems.cn.Iinterface.ISaveFile;
import yn.ngems.cn.IinterfaceImpl.ICompareNumberImpl;
import yn.ngems.cn.IinterfaceImpl.SaveFileImpl;
public class Factory {
public static ICompareNumber getInstance() {
return new ICompareNumberImpl();
}
public static ISaveFile getInstanceFile() {
return new SaveFileImpl();
}
}
package yn.ngems.cn.test;
import java.io.File;
import yn.ngems.cn.Iinterface.ISaveFile;
import yn.ngems.cn.factory.Factory;
public class TestSaveFileandContent {
static {//把文件保存的目录路径设置好
File file =new File(ISaveFile.SAVE_DIR);
if(!file.exists()) {
file.mkdirs();
}
}
public static void main(String[] args) {
ISaveFile isfile = Factory.getInstanceFile();
System.out.println(isfile.save());
}
}