2017-04-22 158 views
1

Java: 我正在讀取文件(csv)。像這樣的結構: 1; Miller Hame; 1,2,3,4,5 ......; 1232323;Java Stream to String [] Array

現在我必須將它拆分爲String [],所以我可以每行工作,並有與每一個「部分」

到目前爲止我的代碼:

 Stream<String> input = java.nio.file.Files.lines(java.nio.file.Paths.get("data.csv")); 
    String[] lines = input.skip(1) 

     .map(s->s.split(";")) 
     .toArray(String[]::new); 

其實我越來越java.lang.ArrayStoreException 。有人能幫我嗎?

(是的,它是爲家庭作業,但我不希望整體解決方案,只爲工作的這個非常小的一部分。如果有提示,非常感謝!)

+6

你有一個'的String [] []'不是'的String []'。 –

+1

@BoristheSpider是的,用'.toArray(String [] [] :: new)替換'.toArray(String [] :: new);''應該可以。 –

回答

2

像這樣的事情

Stream<String> input = Files.lines(Paths.get("src/data.csv")); 
String[][] lines = input.skip(1).map(s -> s.split(";")).toArray(String[][]::new); 

建議: 您不必鍵入類的完整路徑。你可以導入它的。這是FilesPaths

import java.nio.file.Files; 
import java.nio.file.Paths;