我对Java相当陌生,我正试图让它读取一个文件。
我有一个需要作为数组导入 Java 的数据文本文件。
数据文件的第一行是名称行。所有变量的名称都在第一行,数据聚集在列中。我只想将它导入 Java 并能够根据需要导出所有变量,就像它们是 MATLAB 中的向量一样。所以基本上我们获取数据并标记每个向量。我需要代码尽可能通用,因此它应该读取可变数量的列和行。我相信我能够使用一种非有效的方法来创建数组。现在我需要将数组分成多个数组,然后将它们转换为数字。但是我需要根据它们所属的向量对数字进行分组。
文本文件是从 Excel 电子表格创建的,因此它基本上具有用于不同测量的列,这将创建向量。另一个向量中的每一列包含行中的数据。
我搜索了很多试图实现的代码,但到了没有帮助的情况下我无法继续的地步。有人可以告诉我如何在任何意义上进行。甚至还可以改进阅读部分,因为我知道这不是在 Java 中这样做的最佳方式。这是我手头的东西:
package Testing;
import java.io.*;
import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.*;
public class Read1 {
public static void main(String[] args) {
try {
FileReader fin = new FileReader("C:/jade/test/Winter_Full_clean.txt");
BufferedReader in = new BufferedReader(fin);
String str = "";
int count = 0;
String line;
while ((line=in.readLine()) != null) {
if (count==0) {
str = line;
}
else if (in.readLine()!=null) {
str = str + line;
}
count++;
}
in.close();
//System.out.printf(str);
System.out.print(tokens);
} catch (Exception e) {
System.out.println("error crap" + e.getClass());
}
}
//{
// Path yourFile = Paths.get("C:/jade/test/Winter_Full_clean.txt");
// Charset charset = Charset.forName("UTF-8");
// List<String> lines = null;
// try {
// lines = Files.readAllLines(yourFile, charset);
// } catch (IOException e) {
// TODO Auto-generated catch block
// e.printStackTrace();
// }
// String[] arr = lines.toArray(new String[lines.size()]);
// System.out.println(arr);
//}
}