2015-11-01 76 views
-1

在我的应用程序中,需要将大量数据转换为CSV并读取CSV。我在哪里面临转换Strings to Collection Type的问题。例如,我有在CSV文件中,如下行,Java字符串到集合类型

1,{'Id_101', 'Id_102', 'Id_103'} 

在我的代码,我会读与String[]变量所以上面的线,

arr[0] will hold 1 
arr[1] will hold {'Id_101', 'Id_102', 'Id_103'} 

我知道的数据类型arr[1] value is Set (It is static)。我需要转换{'Id_101', 'Id_102', 'Id_103'} to Set<String>

同样for Map too,输入会像{ "keyA": "ValA", "keyB": "ValB" }(我知道当字符串的类型设置的,当该字符串是地图的,因为它是静态的)

是否有任何第三方的API供那?我不喜欢使用字符串操作。需要使用任何第三方API来实现。

+0

为什么不使用json并将每个对象都作为文件中的单独行写入? – JohnnyAW

+0

转换为CSV是另一个第三方工具,所以我不能在读取使用csvToJSON时使用CSV –

+0

的写入过程进行任何更改,然后使用JSON(如GSON)API轻松转换为应得的类型 – JAVAC

回答

0
String temp = arr[1]; 
//remove the leading and trailing brackets 
temp = temp.substring(1, temp.length()-1); 
String arr[] = temp.split(", "); 

//convert array of String to Set 
Set<String> mySet = new HashSet<>(Arrays.asList(arr)); 
+0

除字符串操作外的任何解决方案? –

+0

除了字符串操作,你还指什么?你正在寻找什么样的其他解决方案? –

+0

而不使用子字符串和charAt等。在某些情况下,字符串可能包含空格,其值本身 –