[英]Reading textfile into 2d array JAVA
我正在嘗試讀取給定的文本文件,其中包含一堆雙打,文本文件看起來像這樣(每行之間沒有空格):
0,0.007133248,0.003747135,0.0034464097,0.009517824,0.0036065334,0.007921185,0.0041013476
1,0.006223865,5.804103E-4,5.6967576E-4,0.008850083,0.003269921,3.7322243E-4,0.0011008179
2,0.0051101227,0.008973722,0.0013274436,0.00922496,0.0050817304,0.004631279,0.0069321943
本質上是1000行8列,並且試圖將其轉換為data [1000] [8]的二維數組,但是在遍歷數據時遇到了麻煩。 這是我到目前為止所擁有的,任何幫助將不勝感激!
public static void readFile2() throws IOException{
Double[][] data = new Double[1000][8];
int row = 0;
int col = 0;
Scanner scanner = null;
scanner = new Scanner(new BufferedReader(new FileReader("/Users/Roman/Documents/workspace/cisc124/Logger (1).csv")));
while (scanner.hasNext() && scanner !=null) {
scanner.useDelimiter(",");
while(row<data.length && col<8){
data[row][col] = Double.parseDouble(scanner.next());
col++;
//System.out.print(Arrays.deepToString(data));
}
col=0;
row++;
}
System.out.println(Arrays.deepToString(data));
scanner.close();
}
逐行讀取文件會更方便。
String[] data = new String[1000];
int row = 0;
try {
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(filePath), "utf-8"));
String line;
while ((line = br.readLine()) != null) {
data[row]= line;
row++;
}
br.close();
} catch (IOException e) {
e.printStackTrace();
}
最后做同樣的事情
System.out.println(Arrays.ToString(data));
或者如果您需要給定索引處的元素,則拆分一行並使用Double.parse();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.