java中怎样从文件里读取数据,然后赋值给对象数组

代码:File file = new File( "data.txt ");
BufferedReader in = new BufferedReader(new FileReader(file));
for(int i=0;i <200;i++){
String line;
int flg = 1;
while ((line = in.readLine()) != null){
System.out.println(line);
}
}
in.close();
in=null;
file=null;

文件(txt):
zhang 2001 os:89.0 java:78.0 math:89.5
wang 2002 os:89.0 java:78.0 math:89.5
li 2003 os:89.0 java:78.0 math:89.5

对象数组的构造方法:public Student0(String name,Long id,double result[]){
this.name = name;
this.id = id;
this.result = result;

}
其中 result数组存放成绩
求怎样取值,怎样赋值.....
坐等高人。。

大体的实现功能,代码写的并不严谨,很多需要判断的地方都没判断,你凑合看看功能是如何实现的就行,至于各种判断验证什么的你自己搞定吧。

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

public class FileToArray {
public static void main(String[] args) throws IOException {
String path = FileToArray.class.getResource("data.txt").toString()
.substring(6);
File file = new File(path);
BufferedReader in = new BufferedReader(new FileReader(file));

List<Student0> students = new ArrayList<Student0>();
String line;
int flg = 1;
while ((line = in.readLine()) != null) {
String[] data = line.split(" ");
String name = data[0];
long id = Long.parseLong(data[1]);
String[] result = new String[data.length - 2];
for (int i=2; i<data.length; i++) {
result[i-2] = data[i];
}
Student0 sdt = new Student0(name, id, result);
students.add(sdt);
}

in.close();
in = null;
file = null;

for (Student0 std : students) {
System.out.println(std.getName() + " " + std.getId());
for (String res : std.getResult()) {
System.out.println(res);
}
System.out.println("=================");
}
}
}

class Student0 {
private String name;
private long id;
private String[] result;

public Student0(String name, long id, String[] result) {
this.name = name;
this.id = id;
this.result = result;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public long getId() {
return id;
}

public void setId(long id) {
this.id = id;
}

public String[] getResult() {
return result;
}

public void setResult(String[] result) {
this.result = result;
}

}
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-04-15
不是很明白你的要求
for(int i=0;i <200;i++){特别是对于 这行,不明白

这个循环
while ((line = in.readLine()) != null){
System.out.println(line);
}
已经把文件从头读到尾了,你的循环是用来做什么的?

读取的数据就在System.out.println(line);
那里处理,不明白你的String name,Long id,double result[]怎么对应,所以不敢写,你对应起来再说吧(不明白id对应哪个,name对应哪个,result是不是对应分数?)

java中怎样从文件里读取数据,然后赋值给对象数组
import java.util.List;public class FileToArray { public static void main(String[] args) throws IOException { String path = FileToArray.class.getResource("data.txt").toString().substring(6);File file = new File(path);BufferedReader in = new BufferedReader(new FileReader(file));...

JAVA怎么从文件中把数字读取出来并且放到一个数组中呢?
首先我们查一下ASCII码,找到字符'0'对应的十进制数(即int的值):是48,也就是说,字符'0'相当于十进制数48,所以读我的1.txtx文件,第一个字符是'1',你的num[j]=list[j]-'0'计算的时候,就是'1'-'0'相当于49-48=1,所以字符1打印出来就是1。然后我们看我1.txt的第4个字符,是...

Java中怎样将一个文件中的数据读取出来,并保存成数组。
\/\/读入文件 File f = new File("D:\/Data.txt");FileInputStream fis = new FileInputStream(f);InputStreamReader isr = new InputStreamReader(fis);BufferedReader br = new BufferedReader(isr);List<String[]> lst = new ArrayList<String[]>();String input;while ((input = br.readLin...

Java中如何提取TXT文件数据并讲数据导入到数组里...急求
public static void main(String[] args) throws FileNotFoundException { Scanner scanner = new Scanner(new FileInputStream("d:\/data.txt"));\/\/通过FileInputStream构建Scanner ArrayList<Integer[]> integerDataList = new ArrayList<>();\/\/初始化数据存放list,arrayList中的每一项是一条数...

java读取文件中多个数据,放入不同数组
第一步,实现读取文件功能,定义方法public List<String> read(String filePath);这个方法是读取文件内容,每一行做一个string字符串存到列表list中,读取完后返回字符串列表;可以使用scanner类和fileinputstream结合实现,先new fileinputstream对象,再new scanner对象,之后通过scanner的nextline方法读取完...

Java读取TXT文档中的数据并赋值给动态数组
import java.util.ArrayList;import java.util.List;import javax.swing.JFrame;public class Test extends JFrame { static List<Double> x = new ArrayList<Double>();static List<Double> y = new ArrayList<Double>();static List<Double> z = new ArrayList<Double>();public static void ...

Java如何将文本文档中的字符串读取到字符串数组?
使用RandomAccessFile先读取一次计算行数,seek重置到文件头部,再读取每行,赋值给a数组。import java.io.FileNotFoundException;import java.io.IOException;import java.io.RandomAccessFile;public class Test { \/\/此题目关键是根据文件内容确定二维数组的行数和列数 public static void main(String[] ...

如何用JAVA读取某个文件内容并存储到各变量
给你大概写了几个,是用截字符串的方法 import java.io.BufferedReader;import java.io.FileReader;public class FileReadTest { public static void main(String[] args) throws Exception { FileReader fw = new FileReader("D:\\\\welcome.txt");BufferedReader br = new BufferedReader(fw);String ...

java中如何从文件中读取数据
◎◎◎FileInputStream 字节输入流读文件◎◎◎ public class Maintest { public static void main(String[] args) throws IOException { File f=new File("G:\\\\just for fun\\\\xiangwei.txt");FileInputStream fin=new FileInputStream(f);byte[] bs=new byte[1024];int count=0;while((count...

java读取txt文件然后赋值二维数组
java读取txt文件然后赋值二维数组实现方法如下:package shi; import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.List; public class Test13 { \/** * 读取文件 * @param file...

相似回答