2016-05-22 8 views
0

私はコミュニティの考えを問題にしたいと思います。私は自分のプログラムにセーブとロードの状態を作成しました。私が保存するとき、私は特定の形式で情報を保存する* .csvファイルを作成します。ロードすると、解析された* .csvファイルが読み込まれます。 問題は、2行目で、説明テキストボックスなので、ユーザーが望む数の行を持つことができます。 CSVファイルのフォーマットは次のようである: - 1行javaでcsvを読み込んでパースする

ユーザ説明 -

ユーザタイトルライン

ヘッダ-1ライン

アドレス位置-1アドレスごと行の任意の数の

例:

Myawesometitle、

これは説明、

非常に良い説明です、

NBR、住所、市、州は、

1,5643 marketstreet、シンシナティ、OH、80985

2,12345ジップメイン州、デンバー、CO、67890

複数の行を持つユーザーの説明を回避するにはどうすればよいですか?私は、どちらかによって解析/ nまたは、

はあなたが具体的に私はJSON形式を使用することをお勧めCSVを使用する義務がない場合、それが原因で、たとえば、はるかにダイナミックでスキーマ無料で、

+2

はJSONまたはXMLのように、CSVよりも優れ、構造化され、形式を選択し、あなたのための改行、またはより良い対処します既製CSVリーダー/ライターを使用してください。 –

+0

なぜか:最初の行をユーザーのタイトルとして解析し、ユニークなヘッダー行に到達するまで行を読み取ってください(その行にいくつかの記号を入れて、それを特定できるようにしてください)。 – user3494047

+1

CSVファイルは、行とフィールドで構成されています。行は\ n文字、フィールドby、または;で区切られます。キャラクター。フィールドに\ nが含まれている場合、または;これはファイルの解析に問題を引き起こします。この場合、問題のある文字を含む文字列を二重引用符で囲んで書くのがコンベンションです。二重引用符をチェックし、二重引用符で囲まれた\ n、および;すべての解釈を除外する必要があります。 – Carlo

答えて

2

をいただき、ありがとうございますすることができますあなたは値としてリスト[]を使用することができ、あなたの場合、それは完全に無制限のアドレス数にぴったりです。例えば

{ 
    "User title" : "Myawesometitle" 

    "User description" : "This is a description" 

    "Header" : "A very good description" 

    "Address locations" : 
    [ 
      { 
       "Nbr" : "1,5643" 
       "address" : "marketstreet" 
       "city" : "Cincinnati" 
       "state" : "OH" 
       "zip" : "80985" 
      }, 
      { 
       "Nbr" : "2,12345" 
       "address" : "main avenue" 
       "city" : "Denver" 
       "state" : "CO" 
       "zip" : "67890" 
      } 
    ] 
} 
関連する問題