Односимвольные разделители легко разделить: функция String.split () будет разделена на символ или строку.Они делают именно то, что делает StringTokenizer, но делают это с более чистым синтаксисом.То есть String[] items = myString.split(",")
выглядит намного чище, чем
StringTokenizer st = new StringTokenizer(myString, ",");
while(st.hasMoreTokens()){
myList.add(st.nextToken();
}
(используйте split
в будущем - это то, что я говорю.)
Однако похоже, что вы внемного более сложная ситуация, когда вам нужно расположить материал слева [
и справа ]
.Это требует регулярных выражений и захвата групп.Что-то вроде /\[(.*)\]/
CSV (значения, разделенные запятыми) являются общими для простых табличных данных, и формат даже стандартизирован до некоторой степени.Если вы хотите представить более сложные объекты, вы можете использовать JSON или SOAP.Если вы используете хранилище только для Java, взгляните на встроенные функции сериализации Java.
Поскольку вы используете его локально, и, возможно, вы сохраняете какой-то объект Java для его представления.Одним из способов было бы реализовать Serializable
в любом объекте, представляющем ваши данные.
Если вам это не нравится, я бы пошел с JSON, потому что похоже, что вы делаете какую-то древовидную структуру.