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();
}
}
}
}
|
用户几号信息记录文本:
结果示例:当前无帐号信息无法登录
注册帐号: