- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下 Java 类,我用它来读取 .data 文件:
import java.io.*;
import java.util.Scanner;
public class ReadFile {
static File file;
String[] columns = new String[]{"personID", "lastName", "firstName", "street", "city"};
String[] data = new String[100];
String filename = "D:\\Users\\Elgan Frost\\Desktop\\careers\\Smart Stream Associate Software Engineer (Java) - Bristol\\assessment\\srcPerson.data";
public ReadFile(File f) throws FileNotFoundException {
// TODO Auto-generated constructor stub
try{
//File = new File("D:\\Users\\Elgan Frost\\Desktop\\careers\\Smart Stream Associate Software Engineer (Java) - Bristol\\assessment\\srcPerson.data");
f = new File("D:\\Users\\Elgan Frost\\Desktop\\careers\\Smart Stream Associate Software Engineer (Java) - Bristol\\assessment\\src\\Person.data");
Scanner scanner = new Scanner(f);
while(scanner.hasNextLine()){
System.out.println(scanner.nextLine());
}
scanner.close();
}
finally{
}
}
public void read(File file2) throws IOException{
FileReader fr = new FileReader("D:\\Users\\Elgan Frost\\Desktop\\careers\\Smart Stream Associate Software Engineer (Java) - Bristol\\assessment\\src\\Person.data");
BufferedReader br = new BufferedReader(fr);
String line;
int i = 0;
while((line = br.readLine())!= null){
data[i] = line;
System.out.println(data[i]);
i++;
}
br.close();
String[] dataNew = new String[i];
System.arraycopy(data, 0, dataNew, 0, i);
data = dataNew;
System.out.println("Data length: " + data.length);
}
}
为了让您更全面地了解我的代码,我还有以下 Java 类,其中包含我的主要方法:
import java.io.*;
public class Person {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
ReadFile rf = new ReadFile(f);
rf.read(ReadFile.file);
}
static File f;
public String id;
public String lastName;
public String firstName;
public String street;
public String city;
public void readPerson() throws FileNotFoundException{
//File f = new File("Smart Stream Associate Software Engineer (Java) - Bristol/assessment/src/Person.java");
//InputStream IS = new FileInputStream(f);
}
}
目前,当我运行我的程序时,控制台显示两行“Person.data....”并给出正在读取的 .data 文件的文件路径,这将来自 System.out.println(scanner.nextLine());
和 System.out.println(data[i]);
在我的 ReadFile.java 类中,以及行“Data length: 1”,它来自类(class)末尾的 System.out.println("Data length: "+ data.length);
行。
我假设这意味着程序已经读取了 .data 文件的前两行,但只存储了第一行。
我想要发生的事情是让它读取第一行,将其存储在一个字符串中,然后在出现“空格”的任何地方将字符串分成单独的字符串,并将这些字符串中的每一个存储在我在类(class)开始时创建的字符串数组 - 使用以下行:
String[] columns = new String[]{"personID", "lastName", "firstName", "street", "city"};
单独的字符串应按此顺序存储到每个字符串中 - 因此第一个字符串(在原始字符串中的第一个空格之前)将存储在“personID”中,第二个(在第一个空格之后,第二个之前)将存储在“lastName”等中。
然后我想做的是依次读取文件中的每一行,将每一行的元素存储到我的“列”字符串数组的下一个“行”中(基本上创建一个数据表,使用数组数组),其中每个数组的第一个元素是“personID”,第二个元素是“lastName”等。
我想这样做直到到达文件末尾,然后打印“列”数组的几个元素的内容,只是为了表明它已经工作。
我不确定该怎么做,只是想知道是否有人可以指出正确的方向?
最佳答案
final Scanner in = new Scanner(new FileReader("filename.txt"));
final List<Person> persons= new ArrayList<Person>();
while (in.hasNext()) {
final String[] columns = in.next().split(" ");
final Person person = new Person();
Person.setId(column[0]);
Person.setName(column[1]);
// like this you can set all the fields
persons.add(person);
}
然后您可以循环遍历列列表中的几条记录并显示相同的内容
正如 OOPS 在评论中所建议的那样,最好的设计是拥有一个 person 对象并将文件中的数据存储为 Person 对象列表
关于java - 从 .data 文件读取到 Java - 如何将信息存储在数组数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19004104/
我正在尝试创建一个包含 int[][] 项的数组 即 int version0Indexes[][4] = { {1,2,3,4}, {5,6,7,8} }; int version1Indexes[
我有一个整数数组: private int array[]; 如果我还有一个名为 add 的方法,那么以下有什么区别: public void add(int value) { array[va
当您尝试在 JavaScript 中将一个数组添加到另一个数组时,它会将其转换为一个字符串。通常,当以另一种语言执行此操作时,列表会合并。 JavaScript [1, 2] + [3, 4] = "
根据我正在阅读的教程,如果您想创建一个包含 5 列和 3 行的表格来表示这样的数据... 45 4 34 99 56 3 23 99 43 2 1 1 0 43 67 ...它说你可以使用下
我通常使用 python 编写脚本/程序,但最近开始使用 JavaScript 进行编程,并且在使用数组时遇到了一些问题。 在 python 中,当我创建一个数组并使用 for x in y 时,我得
我有一个这样的数组: temp = [ 'data1', ['data1_a','data1_b'], ['data2_a','data2_b','data2_c'] ]; // 我想使用 toStr
rent_property (table name) id fullName propertyName 1 A House Name1 2 B
这个问题在这里已经有了答案: 关闭13年前。 Possible Duplicate: In C arrays why is this true? a[5] == 5[a] array[index] 和
使用 Excel 2013。经过多年的寻找和适应,我的第一篇文章。 我正在尝试将当前 App 用户(即“John Smith”)与他的电子邮件地址“jsmith@work.com”进行匹配。 使用两个
当仅在一个边距上操作时,apply 似乎不会重新组装 3D 数组。考虑: arr 1),但对我来说仍然很奇怪,如果一个函数返回一个具有尺寸的对象,那么它们基本上会被忽略。 最佳答案 这是一个不太理
我有一个包含 GPS 坐标的 MySQL 数据库。这是我检索坐标的部分 PHP 代码; $sql = "SELECT lat, lon FROM gps_data"; $stmt=$db->query
我需要找到一种方法来执行这个操作,我有一个形状数组 [批量大小, 150, 1] 代表 batch_size 整数序列,每个序列有 150 个元素长,但在每个序列中都有很多添加的零,以使所有序列具有相
我必须通过 url 中的 json 获取文本。 层次结构如下: 对象>数组>对象>数组>对象。 我想用这段代码获取文本。但是我收到错误 :org.json.JSONException: No valu
enter code here- (void)viewDidLoad { NSMutableArray *imageViewArray= [[NSMutableArray alloc] init];
知道如何对二维字符串数组执行修剪操作,例如使用 Java 流 API 进行 3x3 并将其收集回相同维度的 3x3 数组? 重点是避免使用显式的 for 循环。 当前的解决方案只是简单地执行一个 fo
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
我有来自 ASP.NET Web 服务的以下 XML 输出: 1710 1711 1712 1713
如果我有一个对象todo作为您状态的一部分,并且该对象包含数组列表,则列表内部有对象,在这些对象内部还有另一个数组listItems。如何更新数组 listItems 中 id 为“poi098”的对
我想将最大长度为 8 的 bool 数组打包成一个字节,通过网络发送它,然后将其解压回 bool 数组。已经在这里尝试了一些解决方案,但没有用。我正在使用单声道。 我制作了 BitArray,然后尝试
我们的数据库中有这个字段指示一周中的每一天的真/假标志,如下所示:'1111110' 我需要将此值转换为 boolean 数组。 为此,我编写了以下代码: char[] freqs = weekday
我是一名优秀的程序员,十分优秀!