//利用文件操作数据进行存储、读取、匹配:
public class Test {
static Scanner sc = new Scanner(System.in);
static boolean isLogin=false;
static File file=new File("C:\\Users\\Administrator\\Desktop\\","information.txt");//已经建立好的文件
static boolean yes = false;
public static void main(String[] args) {
String isGoOn="y";
while(isGoOn.equalsIgnoreCase("y")){
System.out.println("欢迎登录系统,请选择登录(1)或者注册(2):");
int choice=sc.nextInt();
switch(choice){
case 1:
System.out.println("*******登录*******");
System.out.print("用户名:");
String name=sc.next();
System.out.print("密码:");
String password=sc.next();
read(name, password);
try {
login(name, password);
} catch (Exception e) {
e.printStackTrace();
}
break;
case 2:
System.out.println("*******注册*******");
System.out.print("请输入你的个性化用户名:");
String putName=sc.next();
System.out.println("请输入密码:");
String putPassword=sc.next();
register(putName, putPassword);
break;
default:
System.out.println("选择有误!");
break;
}
System.out.println("是否继续?y/n");
isGoOn=sc.next();
}
}
static void read(String name,String password){//读取
try {
FileInputStream in=new FileInputStream(file);
byte[] byt=new byte[(int)file.length()];
try {
int len=in.read(byt);
System.out.println("文件中的信息是:"+new String(byt,0,len));
in.close();
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
static void login(String name,String password) throws Exception{//登录
FileInputStream in=new FileInputStream(file);
byte[] byt=new byte[(int) file.length()];
in.read(byt);
in.close();
String str = new String(byt);
String m=(name+" "+password);
String[] split = str.split("\n");
for(int i = 0;i<split.length;i++){
if(split[i].equals(m)){
yes = true;
}
}
if(yes) {
System.out.println("登陆成功!");
}else{
System.out.println("登陆失败!");
}
}
static void register(String putName,String putPassword){//注册
try {
FileInputStream in=new FileInputStream(file);
byte[] byt=new byte[(int) file.length()];
try {
in.read(byt);
} catch (IOException e) {
e.printStackTrace();
}
byte[] by=(new String(byt)+putName+" "+putPassword+"\n").getBytes();
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
FileOutputStream out = new FileOutputStream(file,true);
String str = new String(byt);
try {
out.write(by);
} catch (IOException e) {
e.printStackTrace();
}
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
return;
}
}
Java实现文件重命名:
/** *//**文件重命名 * @param path 文件目录 * @param oldname 原来的文件名 * @param newname 新文件名 */ public void renameFile(String path,String oldname,String newname){ if(!oldname.equals(newname)){//新的文件名和以前文件名不同时,才有必要进行重命名 File oldfile=new File(path+"/"+oldname); File newfile=new File(path+"/"+newname); if(!oldfile.exists()){ return;//重命名文件不存在 } if(newfile.exists())//若在该目录下已经有一个文件和新文件名相同,则不允许重命名 System.out.println(newname+"已经存在!"); else{ oldfile.renameTo(newfile); } }else{ System.out.println("新文件名和旧文件名相同..."); } }