把ArrayLit集合中的字符数据存储到文本内
package com.Brooke05;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
public class ArrayListToFileTest {
public static void main(String[] args)
throws IOException {
ArrayList<String> array =
new ArrayList<String>();
array.add(
"hello");
array.add(
"world");
array.add(
"java");
BufferedWriter bw =
new BufferedWriter(
new FileWriter(
"ArrayListToFileTest.txt"));
for(
int i=
0;i<array.size();i++) {
String line = array.get(i);
bw.write(line);
bw.newLine();
bw.flush();
}
bw.close();
}
}
读取文本数据存到集合中并遍历集合
package com.Brooke05;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
public class FileToArrayListTest {
public static void main(String[] args)
throws IOException {
ArrayList<String> array =
new ArrayList<String>();
BufferedReader br =
new BufferedReader(
new FileReader(
"ArrayListToFileTest.txt"));
String line;
while((line = br.readLine()) !=
null) {
array.add(line);
}
br.close();
for(
int x=
0;x<array.size();x++) {
System.out.println(array.get(x));
}
}
}
键盘录入学生信息存入集合,遍历集合把学生信息存入文本(定义分割标记)
package com.Brooke05;
public class Student {
private String name;
private String age;
private String id;
private String address;
public Student() {
}
public Student(String name, String age, String id, String address) {
this.name = name;
this.age = age;
this.id = id;
this.address = address;
}
public String
getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String
getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String
getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String
getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
package
com.Brooke05
import java
.io.BufferedWriter
import java
.io.FileWriter
import java
.io.IOException
import java
.util.ArrayList
import java
.util.Scanner
public class StudentTest {
public static void main(String[] args) throws IOException {
//创建结集合对象
ArrayList<Student> array = new ArrayList<Student>()
for(int
x=
0
addStudent(array)
}
//创建输出缓冲流对象
BufferedWriter bw = new BufferedWriter(new FileWriter(
"StudentTest.txt"))
for(int
x=
0
// String id = array
.get(
x)
.getId()
// bw
.write(id+
",")
// String name = array
.get(
x)
.getName()
// bw
.write(name+
",")
// String age = array
.get(
x)
.getAge()
// bw
.write(age+
",")
// String address = array
.get(
x)
.getAddress()
// bw
.write(address)
// bw
.newLine()
Student stu = array
.get(
x)
//链式编程
StringBuilder sb = new StringBuilder()
sb
.append(stu
.getId())
.append(
",")
.append(stu
.getName())
.append(
",")
.append(stu
.getAge())
.append(
",")
.append(stu
.getAddress())
bw
.write(sb
.toString())
bw
.newLine()
bw
.flush()
}
//释放资源
bw
.close()
}
//添加学生
public static void addStudent(ArrayList<Student> array) {
Scanner sc = new Scanner(System
.in)
String id =
""
while(true) {
System
.out.println(
"请输入学号:")
id = sc
.nextLine()
boolean flag = true
for(int
x=
0
if(id
.equals(array
.get(
x)
.getId())) {
System
.out.println(
"您输入的学号已经被占用,请重新输入!")
flag = false
}
}
if(flag == true) {
break
}
}
System
.out.println(
"请输入姓名:")
String name = sc
.nextLine()
System
.out.println(
"请输入年龄:")
String age = sc
.nextLine()
System
.out.println(
"请输入居住地:")
String address = sc
.nextLine()
Student stu = new Student()
stu
.setId(id)
stu
.setName(name)
stu
.setAge(age)
stu
.setAddress(address)
array
.add(stu)
}
}
把文本文件中的信息读取出来存储到集合中,最后遍历集合,在控制台输出
package
com.Brooke05
import java
.io.BufferedReader
import java
.io.FileReader
import java
.io.IOException
import java
.util.ArrayList
public class StudentTest1 {
public static void main(String[] args) throws IOException {
//创建输入缓冲流对象
BufferedReader br = new BufferedReader(new FileReader(
"StudentTest.txt"))
//创建集合对象
ArrayList<Student> array = new ArrayList<Student>()
String line
while((line = br
.readLine()) != null) {
//分割字符串,分割后的元素存储到数组中,以
","为分界点
String[] strArray = line
.split(
",")
Student stu = new Student()
stu
.setId(strArray[
0])
stu
.setName(strArray[
1])
stu
.setAge(strArray[
2])
stu
.setAddress(strArray[
3])
array
.add(stu)
}
//释放资源
br
.close()
System
.out.println(
"学号\t姓名\t年龄\t居住地")
for(int
x=
0
Student stu = array
.get(
x)
System
.out.println(stu
.getId()+
"\t"+stu
.getName()+
"\t"+stu
.getAge()+
"\t"+stu
.getAddress())
}
}
}