package com.maven;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.IOException;
import javax.swing.JOptionPane;
/**
* 从 file:"D:\\usrname.txt" 中获取usrname的值,如果file不存在或file中数据不正确,弹出输入框,直到输入正确的数据,并把正确的数据保存到file中
*
*/
public class Hello
{
public static void main( String[] args ) throws IOException
{
String filepath = "D:\\usrname.txt";
String usrname = UsrName(filepath);
System.out.println(usrname);
while(!usrname.equals("hello")){
File file=new File(filepath);
if(!file.exists())
file.createNewFile();
usrname = JOptionPane.showInputDialog("Please input correct usrname");
FileWriter fw = new FileWriter(file.getAbsoluteFile());
BufferedWriter bw = new BufferedWriter(fw);
bw.write(usrname);
bw.close();
}
}
public static String UsrName(String path) throws IOException{
File file=new File(path);
if(!file.exists())
file.createNewFile();
FileInputStream fis=new FileInputStream(file);
byte[] buf = new byte[1024];
StringBuffer sb=new StringBuffer();
while((fis.read(buf))!=-1){
sb.append(new String(buf));
buf=new byte[1024];//重新生成,避免和上次读取的数据重复
}
String usrname = sb.toString();
if(usrname.isEmpty()){
usrname = JOptionPane.showInputDialog("Please input usrname");
FileWriter fw = new FileWriter(file.getAbsoluteFile());
BufferedWriter bw = new BufferedWriter(fw);
bw.write(usrname);
bw.close();
}
return usrname;
}
}