Suppose I have 105 records and I want write all records in text files where in each file there will be 10 records.
so total file will generate here 11.
Suppose I have 105 records and I want write all records in text files where in each file there will be 10 records.
so total file will generate here 11.
Try this
int count = 0; String filename = "text1";
for (int i = 0; i <= 105; i++) // loop to 105 times
{
count++;
if(count <= 10) //write 10 records to the file
{
if(count == 1)
filename = "text" + (i/10);
try(PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(filename, true)))) {
out.println("the text");
}catch (IOException e) {}
if(count == 10)
count = 0;
}
}
public static void writeToMultipleFiles(int numberOfLines, String prefix, List<String> records){
lineCounter = 1;
counter = 1;
String filename = prefix + counter;
for (String line : records){
if(lineCounter = numberOfLines){
lineCounter = 1;
counter++;
filename = prefix + counter;
}
try(PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(filename, true)))) {
out.println(line);
lineCounter++;
}catch (IOException e) {}
}
}
public static void writeToMultipleFilesExp() {
int lineNumber = 0;
int rowLimit = 10;
String timeStamp = new SimpleDateFormat("yyyy.MM.dd.HH.mm.ss").format(new Date());
String filename = null;
PrintWriter out = null;
for (int i = 0; i <= 105; i++) {
lineNumber++;
try {
if (lineNumber <= rowLimit) {
if (lineNumber == 1) {
filename = "C:\\temp\\sep\\file_" + timeStamp + "_" + + (i / rowLimit) + ".txt";
out = new PrintWriter(new BufferedWriter(new FileWriter(filename, true)));
}
out.println("the text");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (lineNumber == rowLimit || i==105) { // i==105 is needed or else last page will not be rendered.
lineNumber = 0;
out.close();
}
}
}
}