【作业】3月8日

 1、对文件pet.template中的肉容进行替换,再输出到文件中

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
package com.java.work;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
 
public abstract class WorkPet {
    public static void main(String[] args) {
        FileReader fr = null;
        BufferedReader br = null;
         
        FileWriter fw = null;
        BufferedWriter bw = null;
        try {
            //读取pet.template文件中的内容
            fr = new FileReader("pet.template");
            br = new BufferedReader(fr);
            String str = "";
            String s = new String();
            String news = new String();
            while((str = br.readLine())!=null) {
                System.out.println(str);
                //将读取出的来内容拼接到字符串s中
                s = s + str;
            }
            //替换s中的内容
            //替换前的内容
            System.out.println(s);
            news = s.replace("{name}""1").replace("{type}""2").replace("{master}""3");
            //替换后的内容
            System.out.println(news);
            //将替换后的内容再次输出到pet.template文件中
            fw = new FileWriter("pet.template"true);
            bw = new BufferedWriter(fw);
            bw.newLine();
            bw.write(news);
            bw.flush();
        catch (FileNotFoundException e) {
            e.printStackTrace();
        catch (IOException e) {
            e.printStackTrace();
        }finally {
            try {
                if(bw!=null) {
                    bw.close();
                }
                if(fw!=null) {
                    fw.close();
                }
                if(br!=null) {
                    br.close();
                }
                if(fr!=null) {
                    fr.close();
                }
            catch (IOException e) {
                e.printStackTrace();
            }
        }
         
    }
}


替换前文本内空:

控制台输出:

替换后:

2、 用序列化和反序列化  写一个可以多次注册,并且可以用注册过的所有用户登录的功能

  要求每次注册一个用户,当再次注册用户时,不能把之前注册过的用户覆盖掉
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
package com.java.worktwo;
 
import java.io.Serializable;
/**
 * 用户类
 * @author Administrator
 *
 */
public class User implements Serializable{
    private String name;
    private String password;
    private Long phoneNumber;
     
    public User() {}
     
    public User(String name, String password, Long phoneNumber) {
        this.name = name;
        this.password = password;
        this.phoneNumber = phoneNumber;
    }
     
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public Long getPhoneNumber() {
        return phoneNumber;
    }
    public void setPhoneNumber(Long phoneNumber) {
        this.phoneNumber = phoneNumber;
    }
 
    public String toString() {
        return "User [name=" + name + ", password=" + password + ", phoneNumber=" + phoneNumber + "]";
    }
}

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
package com.java.worktwo;
 
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
 
/**
 * 用户登录
 * @author Administrator
 *
 */
public class UserLogin {
    static Scanner cxj = new Scanner(System.in);
    public static void main(String[] args) {
        List<User> list = new ArrayList<User>();
        FileInputStream fis = null;
        ObjectInputStream ois = null;
 
        try {
            fis = new FileInputStream("user.txt");
            if((fis.available())!=0) {
                ois = new ObjectInputStream(fis);
                list = (ArrayList<User>)ois.readObject();
            }else {
                System.out.println("当前无帐号信息!");
                System.out.println("请先注册!");
                return;
            }
        catch (FileNotFoundException e1) {
            e1.printStackTrace();
        catch (IOException e) {
            e.printStackTrace();
        catch (ClassNotFoundException e) {
            e.printStackTrace();
        }finally {
            try {
                if(ois!=null) {
                    ois.close();
                }
                if(fis!=null) {
                    fis.close();
                }
            catch (IOException e) {
                e.printStackTrace();
            }
        }
             
        System.out.print("请输入用户名:");
        String name = cxj.next();
        System.out.print("请输入密码:");
        String password = cxj.next();
 
        int count = 0;
        for(User u : list) {
            if(name.equals(u.getName())&&(password.equals(u.getPassword()))) {
                System.out.println("登录成功!");
                break;
            }else {
                count++;
            }
        }
        if(count>=list.size()){
            System.out.println("登录失败!");
        }
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
package com.java.worktwo;
 
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
 
/**
 * 用户注册
 * @author Administrator
 *
 */
public class UserRegister {
    static Scanner cxj = new Scanner(System.in);
    public static void main(String[] args) {
        List<User> list = new ArrayList<User>();
 
        FileInputStream fis = null;
        ObjectInputStream ois = null;
 
        try {
            fis = new FileInputStream("user.txt");
            if((fis.available())!=0) {
                ois = new ObjectInputStream(fis);
                list = (ArrayList<User>)ois.readObject();
            }else {
                System.out.println("当前无帐号信息!");
            }
             
        catch (FileNotFoundException e1) {
            e1.printStackTrace();
        catch (IOException e) {
            e.printStackTrace();
        catch (ClassNotFoundException e) {
            e.printStackTrace();
        }finally {
            try {
                if(ois!=null) {
                    ois.close();
                }
                if(fis!=null) {
                    fis.close();
                }
            catch (IOException e) {
                e.printStackTrace();
            }
        }
 
        FileOutputStream fos = null;
        ObjectOutputStream oos = null;
 
        System.out.print("请输入用户名:");
        String name = cxj.next();
        System.out.print("请输入密码:");
        String password = cxj.next();
        System.out.print("请输入手机号码:");
        Long phoneNumber = cxj.nextLong();
 
        User user = new User(name,password,phoneNumber);
        list.add(user);
 
        try {
            fos = new FileOutputStream("user.txt");
            oos = new ObjectOutputStream(fos);
            oos.writeObject(list);
            oos.flush();
            oos.close();
            System.out.println("注册成功!");
        catch (FileNotFoundException e) {
            e.printStackTrace();
        catch (IOException e) {
            e.printStackTrace();
        }finally {
            try {
                if(oos!=null) {
                    oos.close();
                }
                if(fos!=null) {
                    fos.close();
                }
            catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

用户几号信息记录文本:

结果示例:当前无帐号信息无法登录

注册帐号:

 

posted @ 2019-03-08 16:54  XiaoZheJun  阅读(175)  评论(0编辑  收藏  举报