コードスニペットは、CSVファイルを複数のCSVファイルに分割し、最初の列の内容を子CSVファイルに書き込みます。私がこのコードで見たのは、列ヘッダ "UNIQUE ID"がFIRST CSVファイルにのみ表示されていることです。次のCSVファイルには、ヘッダーのないデータのみが含まれています。私はArrayListの最初のインデックスとその後の残りのデータにヘッダーを置くことができるように、私はArrayListを使用すると思ったすべてのファイルにヘッダーを取得するために。しかし、私は悲惨に失敗しました。charArray()を使用してBufferedWriterにArrayListを書き込む
すべての子ファイルに列データの最初の行として追加の一意のIDENTIFIER行があるように、コードを変更する方法の提案またはヘルプが必要です。私が試したコードは貼り付けてあり、動作しませんでした。 Child csv should look like thisThis is what I am getting
public static void myFunction(int lines, int files) throws FileNotFoundException, IOException {
String inputfile = "C:/Users/Downloads/CONSOLIDATED.csv";
BufferedReader br = new BufferedReader(new FileReader(inputfile));
String strLine = null;
for (int i = 1; i <= files; i++) {
FileWriter fstream1 = new FileWriter("C:/Users/Downloads/FileNumber_" + i + ".csv");
BufferedWriter out = new BufferedWriter(fstream1);
for (int j = 0; j < lines; j++) {
strLine = br.readLine();
if (strLine != null) {
String strar[] = strLine.split(",");
ArrayList<String> al=new ArrayList<String>();
al.add(0,"Unique Identifier");
al.add(1,strar[0]);
char c[] = al.toString().toCharArray();
out.write(c);
out.newLine();
}
}
out.close();
}
br.close();
}
オープンソースのcvsReader csvWriterの使用はいかがですか? –
fileWriter =新しいFileWriter( "File" + fileName + ".csv"); \t \t csvFilePrinter =新しいCSVPrinter(fileWriter、csvFileFormat); \t \t csvFilePrinter.printRecord(FILE_HEADER); (文字列noderef:nodeReflist)用\t \t {\t \t \tリストnodeRefDetail =新しいArrayListを()。 \t \t \t String [] idArray = noderef.split( ";"); \t \t \t nodeRefDetail.add(idArray [0]); \t \t \t nodeRefDetail.add(idArray [1]); \t csvFilePrinter.printRecord(nodeRefDetail); \t \t \t} – New2Java
@ ScaryWombat私はcsvReaderとcsvWriterを使って行っています。私は、coreJavaとコレクションAPIを使用して実装したいと思います。それが可能かどうかだけを見たい! – New2Java