
**import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Arrays;
import java.util.Hashtable;
import java.util.Vector;
public class FileReading {
/**
* @param args
*/
///public Hashtable<String, Object> isExistRecord(String oldCurrentLine,String unique,Vector<Integer> vec){
public Hashtable<String,Object > groupByDataWriteToFile(String oldCurrentLine,String unique,Vector<Integer> vec,String delimeter) throws IOException{
Hashtable<String,Object> resultHash = new Hashtable<String,Object>();
BufferedReader br = null;
BufferedWriter bufferFileWriter = null;
boolean isexist = false;
String path = "D:\\groupBy.txt";
int countR=0;
try {
String writepath = "D:\\groupBy.txt";
File file = new File(writepath);
FileWriter fileWriter = new FileWriter(file,true);
String sCurrentLine;
bufferFileWriter = new BufferedWriter(fileWriter);
br = new BufferedReader(new FileReader(path));
if(unique !=null && unique.equals("first")){
////System.out.println("Enter First Record --->"+oldCurrentLine );
bufferFileWriter.write(oldCurrentLine);
bufferFileWriter.newLine();
bufferFileWriter.flush();
isexist = true;
resultHash.put("isexist",true);
resultHash.put("currentRow",oldCurrentLine);
return resultHash;
}
else{
while (((sCurrentLine = br.readLine()) != null)) {
////System.out.println("sCurrentLine ----->"+sCurrentLine);
String arry[] = sCurrentLine.split("\\"+delimeter);
String oldarry[] =oldCurrentLine.split("\\"+delimeter);
boolean groupBycolumnsCheckFlag = checkGroupByColumns(vec,arry,oldarry);
////System.out.println("groupBycolumnsCheckFlag --->"+groupBycolumnsCheckFlag);
if(groupBycolumnsCheckFlag){
////System.out.println("sCurrentLine record -->"+sCurrentLine);
String cnt= arry[(arry.length-1)];
countR =Integer.parseInt(cnt);
countR = countR+1;
arry[(arry.length-1)] =countR+"";
////System.out.println(oldCurrentLine+"-->old is -->"+ arry[(arry.length-1)]);
//String finalStr = oldarry[0]+","+oldarry[1]+","+oldarry[2]+","+oldarry[3]+","+oldarry[4]+","+arry[(arry.length-1)];
String finalStr = UpdateSameRowWithCount(vec,oldarry,arry,delimeter);
//System.out.println("finalString record -->"+finalStr);
bufferFileWriter.write(finalStr);
bufferFileWriter.newLine();
bufferFileWriter.flush();
isexist = true;
resultHash.put("isexist",true);
resultHash.put("currentRow",sCurrentLine);
closeConnections(br,bufferFileWriter);
/*br = null;
bufferFileWriter =null; */
temFileCreate(new BufferedReader(new FileReader("D:\\groupBy.txt")),oldCurrentLine,countR,vec,delimeter);
resultHash.put("isexist",true);
resultHash.put("currentRow",sCurrentLine);
return resultHash;
}
else if(!sCurrentLine.equals(oldCurrentLine)){
resultHash.put("isexist",isexist);
resultHash.put("currentRow",sCurrentLine);
}
}
}
bufferFileWriter.write(oldCurrentLine);
bufferFileWriter.newLine();
bufferFileWriter.flush();
resultHash.put("isexist",true);
resultHash.put("currentRow",oldCurrentLine);
return resultHash;
} catch (IOException e) {
e.printStackTrace();
return resultHash;
} finally {
closeConnections(br,bufferFileWriter);
}
}
public boolean checkGroupByColumns(Vector<Integer> vec,String[] currentRowArray,String[] checkRowArray){
boolean checkFlag = true;
for(int index = 0;index<vec.size();index++ ){
if(!currentRowArray[index].toString().trim().equals(checkRowArray[index].toString().trim())){
checkFlag = false;
return checkFlag;
}
}
return checkFlag;
}
public String UpdateSameRowWithCount(Vector<Integer> vec,String[] oldarry,String[] arry,String delimeter ){
String updatedString = "";
/*for(int index = 0;index<vec.size();index++ ){
if(index ==0 || index== (vec.size()-1))
updatedString += oldarry[index];
else
updatedString += oldarry[vec.get(index)]+",";
}*/
Vector<String> veci =new Vector<String>(Arrays.asList(oldarry));
//System.out.println("Vector ------>"+veci);
for(int index = 0;index<oldarry.length-1;index++ ){
/*if(index ==0 || index== (vec.size()-1))
updatedString += oldarry[index];
else*/
updatedString += oldarry[index]+delimeter;
}
if(arry!=null && arry.length>0)
updatedString += arry[(arry.length-1)];
// //System.out.println("Prepare updatedString Count String --->"+updatedString);
return updatedString;
}
public void temFileCreate(BufferedReader br,String currentLine,int count,Vector<Integer> vec,String delimeter)throws IOException
{
BufferedWriter bufferFileWritertemp1=null;
bufferFileWritertemp1=new BufferedWriter(new FileWriter("D:\\groupBytemp.txt"));
String[] arry=currentLine.split("\\"+delimeter);
String currenline1="";
String[] oldarry=null;
while((currenline1=br.readLine())!=null)
{
//System.out.println("While loop start --->"+currenline1);
oldarry=currenline1.split("\\"+delimeter);
boolean groupBycolumnsCheckFlag = checkGroupByColumns(vec,arry,oldarry);
//if((arry[0].equals(oldarry[0]))&&(arry[1].equals(oldarry[1]))&&(arry[2].equals(oldarry[2]))&&(arry[3].equals(oldarry[3]))&&(arry[4].equals(oldarry[4]))&&(count==Integer.parseInt(oldarry[oldarry.length-1])))
if(groupBycolumnsCheckFlag&&(count==Integer.parseInt(oldarry[oldarry.length-1])))
{
//System.out.println("duplicate replace --->"+currenline1);
bufferFileWritertemp1.write(currenline1);
bufferFileWritertemp1.write("\n");
}
//else if(!((arry[0].equals(oldarry[0]))&&(arry[1].equals(oldarry[1]))&&(arry[2].equals(oldarry[2]))&&(arry[3].equals(oldarry[3]))&&(arry[4].equals(oldarry[4]))))
else if(!groupBycolumnsCheckFlag)
{
//System.out.println("Unique --->"+currenline1);
bufferFileWritertemp1.write(currenline1);
bufferFileWritertemp1.write("\n");
}
}
closeConnections(br,bufferFileWritertemp1);
/*br = null;
bufferFileWritertemp1 = null;*/
File newfile1 =new File("D:\\groupBy.txt");
if(newfile1.delete()){
////System.out.println(newfile1.getName() + " is deleted!");
}else{
////System.out.println(newfile1.getName() +"Delete operation is failed.");
}
File oldfile =new File("D:\\groupBytemp.txt");
File newfile =new File("D:\\groupBy.txt");
if(oldfile.renameTo(newfile)){
////System.out.println("success -->");
}
else{
////System.out.println("failure -->");
}
}
/* public Hashtable<String,Object > groupByDataWriteToFile(String sCurrentLine,String unique,Vector<Integer> vec) throws IOException{
Hashtable<String,Object > resultHash =isExistRecord(sCurrentLine,unique,vec);
return resultHash;
}
*/
public void prepareGroupBy(Vector<Integer> vec,String delimeter) {
BufferedReader br = null;
BufferedWriter bufferFileWriter = null;
try {
String sCurrentLine;
br = new BufferedReader(new FileReader("D:\\completeprimarydups.txt"));
int count =0;
while ((sCurrentLine = br.readLine()) != null) {
////System.out.println("Enter into first phase");
if(count ==0){
groupByDataWriteToFile(sCurrentLine+delimeter+"1","first",vec ,delimeter);
}
else {
//System.out.println("exixsting Record--->"+sCurrentLine);
Hashtable<String,Object> resultHash = null;
if(sCurrentLine !=null&&sCurrentLine.toString().trim().length()>0)
{
resultHash = groupByDataWriteToFile(sCurrentLine+delimeter+"1","same",vec,delimeter);
}
// //System.out.println("resultHash ===>"+resultHash);
if(resultHash!=null && resultHash.size()>0) {
System.out.println("resultHash"+resultHash);
Boolean status = (Boolean) resultHash.get("isexist");
if(!status) {
if(sCurrentLine !=null&&sCurrentLine.toString().trim().length()>0)
groupByDataWriteToFile(sCurrentLine+delimeter+"1","unique",vec,delimeter );
}
}
}
count++;
}
} catch (IOException e) {
e.printStackTrace();
} finally {
closeConnections(br,bufferFileWriter);
}
}
public void closeConnections(BufferedReader br,BufferedWriter bw)
{
try {
if(br!=null)
{
try {
br.close();
br = null;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(bw!=null)
{
bw.close();
bw = null;
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args)throws Exception {
// TODO Auto-generated method stub
Vector<Integer> vec = new Vector<Integer>();
vec.add(0);
vec.add(1);
vec.add(2);
vec.add(3);
vec.add(4);
FileReading fileReaderObj = new FileReading();
String delimeter=",";
fileReaderObj.prepareGroupBy(vec,delimeter);
System.out.println("---Suceessfull Completed----");
}
}**

**import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Hashtable;
import java.util.Vector;
public class Groupingclass {
public void prepareGroupBy(Vector<Integer> vec,String delimeter) {
BufferedReader readoldfile = null;
BufferedWriter bufferFileWriter = null;
try{
String sCurrentLine;
// Groped file name (Suresh.txt)
readoldfile = new BufferedReader(new FileReader("D:\\completeprimarydups.txt"));
int count =0;
while ((sCurrentLine = readoldfile.readLine()) != null) {
if(count ==0){
groupByDataWriteToFile(sCurrentLine+delimeter+"1","first",vec ,delimeter);
}
else {
if(sCurrentLine !=null && sCurrentLine.toString().trim().length()>0)
{
Hashtable<String,Object> resultHash = groupByDataWriteToFile(sCurrentLine+delimeter+"1","same",vec,delimeter);
if(resultHash!=null && resultHash.size()>0) {
Boolean status = (Boolean) resultHash.get("isexist");
if(!status){
groupByDataWriteToFile(sCurrentLine+delimeter+"1","unique",vec,delimeter );
}
}
}
}
count++;
}
} catch(Exception ex){
//File file = new File("D:\\groupby.txt");
System.out.println("Exception>>>????????????????"+ex);
ex.printStackTrace();
}
finally {
closeConnections(readoldfile,bufferFileWriter);
}
}
public Hashtable<String,Object > groupByDataWriteToFile(String oldCurrentLine,String unique,Vector<Integer> vec,String delimeter) throws IOException
{
Hashtable<String,Object> resultHash = new Hashtable<String,Object>();
BufferedReader br = null;
BufferedWriter bufferFileWriter = null;
boolean isexist = false;
File path = new File("D:\\groupBy.txt");
File file = new File("D:\\groupBy.txt");
int countR=0;
try {
String sCurrentLine;
//String writepath = "D:\\groupBy.txt";
//File file = new File("D:\\groupBy.txt");
bufferFileWriter = new BufferedWriter(new FileWriter(file,true),8*1024);
if(path.exists()) {
br = new BufferedReader(new FileReader(path));
}
else {
File gfile = new File("D:\\groupBy.txt");
br = new BufferedReader(new FileReader(gfile));
}
if(unique !=null && unique.equals("first")) {
// System.out.println("firs+++++tline :"+oldCurrentLine);
bufferFileWriter.write(oldCurrentLine);
bufferFileWriter.newLine();
bufferFileWriter.flush();
isexist = true;
resultHash.put("isexist",true);
//resultHash.put("currentRow",oldCurrentLine);
return resultHash;
}
else {
while ((sCurrentLine = br.readLine()) != null) {
//read from start original file
String arry[] = sCurrentLine.split(delimeter);
// it take row by row from original file
String oldarry[] =oldCurrentLine.split(delimeter);
boolean groupBycolumnsCheckFlag = checkGroupByColumns(vec,arry,oldarry);
// if row is same true
if(groupBycolumnsCheckFlag) {
String cnt= arry[(arry.length-1)];
countR =Integer.parseInt(cnt);
countR = countR+1;
arry[(arry.length-1)] =countR+"";
String finalStr = UpdateSameRowWithCount(vec,oldarry,arry);
// System.out.println("finalStr :"+finalStr);
bufferFileWriter.write(finalStr);
bufferFileWriter.newLine();
bufferFileWriter.flush();
isexist = true;
resultHash.put("isexist",true);
resultHash.put("currentRow",sCurrentLine);
closeConnections(br,bufferFileWriter);
if(path.exists()) {
temFileCreate(new BufferedReader(new FileReader("D:\\groupBy.txt")),oldCurrentLine,countR,vec,delimeter);
}
else {
File gfile = new File("D:\\groupBy.txt");
temFileCreate(new BufferedReader(new FileReader(gfile)),oldCurrentLine,countR,vec,delimeter);
}
resultHash.put("isexist",true);
resultHash.put("currentRow",sCurrentLine);
return resultHash;
}
else if(!sCurrentLine.equals(oldCurrentLine)) {
resultHash.put("isexist",isexist);
resultHash.put("currentRow",sCurrentLine);
}
}
}
// System.out.println("not same :"+oldCurrentLine);
if(file.exists()) {
bufferFileWriter.write(oldCurrentLine);
bufferFileWriter.newLine();
bufferFileWriter.flush();
resultHash.put("isexist",true);
resultHash.put("currentRow",oldCurrentLine);
}
else {
File file1 = new File("D:\\groupBy.txt");
bufferFileWriter = new BufferedWriter(new FileWriter(file1,true));
bufferFileWriter.write(oldCurrentLine);
bufferFileWriter.newLine();
bufferFileWriter.flush();
resultHash.put("isexist",true);
resultHash.put("currentRow",oldCurrentLine);
}
return resultHash;
} catch (Exception e) {
/*System.out.println("Exception-----------------"+e);*/
e.printStackTrace();
// File file2 = new File("D:\\groupBy.txt");
// bufferFileWriter = new BufferedWriter(new FileWriter(file2,true));
return resultHash;
} finally {
closeConnections(br,bufferFileWriter);
//File file2 = new File("D:\\groupBy.txt");
//bufferFileWriter = new BufferedWriter(new FileWriter(file2,true));
}
}
public void temFileCreate(BufferedReader br,String currentLine,int count,Vector<Integer> vec,String delimeter)throws IOException
{
BufferedWriter bufferFileWritertemp1=null;
bufferFileWritertemp1 = new BufferedWriter(new FileWriter("D:\\groupBytemp.txt"));
String[] arry=currentLine.split(delimeter);
String currenline1="";
String[] oldarry=null;
while((currenline1=br.readLine())!=null)
{
oldarry=currenline1.split(delimeter);
boolean groupBycolumnsCheckFlag = checkGroupByColumns(vec,arry,oldarry);
//if((arry[0].equals(oldarry[0]))&&(arry[1].equals(oldarry[1]))&&(arry[2].equals(oldarry[2]))&&(arry[3].equals(oldarry[3]))&&(arry[4].equals(oldarry[4]))&&(count==Integer.parseInt(oldarry[oldarry.length-1])))
if(groupBycolumnsCheckFlag&&(count==Integer.parseInt(oldarry[oldarry.length-1])))
{
bufferFileWritertemp1.write(currenline1);
//System.out.println("tempfile line :"+currenline1);
bufferFileWritertemp1.write("\n");
}
//else if(!((arry[0].equals(oldarry[0]))&&(arry[1].equals(oldarry[1]))&&(arry[2].equals(oldarry[2]))&&(arry[3].equals(oldarry[3]))&&(arry[4].equals(oldarry[4]))))
else if(!groupBycolumnsCheckFlag)
{
//System.out.println("temp file not equal :"+currenline1);
bufferFileWritertemp1.write(currenline1);
bufferFileWritertemp1.write("\n");
}
}
closeConnections(br,bufferFileWritertemp1);
/*br = null;
bufferFileWritertemp1 = null;*/
File newfile1 =new File("D:\\groupBy.txt");
if(newfile1.delete()) {
//System.out.println(newfile1.getName() + " is deleted!");
} else {
//System.out.println(newfile1.getName() +"Delete operation is failed.");
}
File oldfile =new File("D:\\groupBytemp.txt");
File newfile =new File("D:\\groupBy.txt");
if(oldfile.renameTo(newfile)){
System.out.println("success -->");
System.gc();
}
else{
File newfile2 =new File("D:\\groupBy.txt");
if(oldfile.renameTo(newfile2)){
System.out.println("???????????????success -->");
}
}
}
public void closeConnections(BufferedReader br,BufferedWriter bw)
{
try {
if(br!=null)
{
try {
br.close();
br = null;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(bw!=null)
{
bw.close();
bw = null;
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public String UpdateSameRowWithCount(Vector<Integer> vec,String[] oldarry,String[] arry) {
String updatedString = "";
for(int index = 0;index<vec.size();index++) {
updatedString += oldarry[vec.get(index)]+",";
}
if(arry!=null && arry.length>0)
updatedString += arry[(arry.length-1)];
return updatedString;
}
public boolean checkGroupByColumns(Vector<Integer> vec,String[] currentRowArray,String[] checkRowArray) {
boolean checkFlag = true;
for(int index = 0;index<vec.size();index++) {
if(!currentRowArray[index].toString().trim().equals(checkRowArray[index].toString().trim())){
checkFlag = false;
return checkFlag; // when index is not matched
}
}
return checkFlag;
}
public static void main(String[] args) {
Groupingclass groupby = new Groupingclass();
Vector<Integer> vec = new Vector<Integer>();
vec.add(0);
vec.add(1);
vec.add(2);
vec.add(3);
vec.add(4);
String delimeter=",";
System.out.println("call prepareGroupBy method");
groupby.prepareGroupBy(vec,delimeter);
}
}**

**import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Hashtable;
import java.util.Vector;
public class Groupingclass {
public void prepareGroupBy(Vector<Integer> vec,String delimeter) {
BufferedReader readoldfile = null;
BufferedWriter bufferFileWriter = null;
try{
String sCurrentLine;
// Groped file name (Suresh.txt)
readoldfile = new BufferedReader(new FileReader("D:\\completeprimarydups.txt"));
int count =0;
while ((sCurrentLine = readoldfile.readLine()) != null) {
if(count ==0){
groupByDataWriteToFile(sCurrentLine+delimeter+"1","first",vec ,delimeter);
}
else {
if(sCurrentLine !=null && sCurrentLine.toString().trim().length()>0)
{
Hashtable<String,Object> resultHash = groupByDataWriteToFile(sCurrentLine+delimeter+"1","same",vec,delimeter);
if(resultHash!=null && resultHash.size()>0) {
Boolean status = (Boolean) resultHash.get("isexist");
if(!status){
groupByDataWriteToFile(sCurrentLine+delimeter+"1","unique",vec,delimeter );
}
}
}
}
count++;
}
} catch(Exception ex){
//File file = new File("D:\\groupby.txt");
System.out.println("Exception>>>????????????????"+ex);
ex.printStackTrace();
}
finally {
closeConnections(readoldfile,bufferFileWriter);
}
}
public Hashtable<String,Object > groupByDataWriteToFile(String oldCurrentLine,String unique,Vector<Integer> vec,String delimeter) throws IOException
{
Hashtable<String,Object> resultHash = new Hashtable<String,Object>();
BufferedReader br = null;
BufferedWriter bufferFileWriter = null;
boolean isexist = false;
File path = new File("D:\\groupBy.txt");
File file = new File("D:\\groupBy.txt");
int countR=0;
try {
String sCurrentLine;
//String writepath = "D:\\groupBy.txt";
//File file = new File("D:\\groupBy.txt");
bufferFileWriter = new BufferedWriter(new FileWriter(file,true),8*1024);
if(path.exists()) {
br = new BufferedReader(new FileReader(path));
}
else {
File gfile = new File("D:\\groupBy.txt");
br = new BufferedReader(new FileReader(gfile));
}
if(unique !=null && unique.equals("first")) {
// System.out.println("firs+++++tline :"+oldCurrentLine);
bufferFileWriter.write(oldCurrentLine);
bufferFileWriter.newLine();
bufferFileWriter.flush();
isexist = true;
resultHash.put("isexist",true);
//resultHash.put("currentRow",oldCurrentLine);
return resultHash;
}
else {
while ((sCurrentLine = br.readLine()) != null) {
//read from start original file
String arry[] = sCurrentLine.split(delimeter);
// it take row by row from original file
String oldarry[] =oldCurrentLine.split(delimeter);
boolean groupBycolumnsCheckFlag = checkGroupByColumns(vec,arry,oldarry);
// if row is same true
if(groupBycolumnsCheckFlag) {
String cnt= arry[(arry.length-1)];
countR =Integer.parseInt(cnt);
countR = countR+1;
arry[(arry.length-1)] =countR+"";
String finalStr = UpdateSameRowWithCount(vec,oldarry,arry);
// System.out.println("finalStr :"+finalStr);
bufferFileWriter.write(finalStr);
bufferFileWriter.newLine();
bufferFileWriter.flush();
isexist = true;
resultHash.put("isexist",true);
resultHash.put("currentRow",sCurrentLine);
closeConnections(br,bufferFileWriter);
if(path.exists()) {
temFileCreate(new BufferedReader(new FileReader("D:\\groupBy.txt")),oldCurrentLine,countR,vec,delimeter);
}
else {
File gfile = new File("D:\\groupBy.txt");
temFileCreate(new BufferedReader(new FileReader(gfile)),oldCurrentLine,countR,vec,delimeter);
}
resultHash.put("isexist",true);
resultHash.put("currentRow",sCurrentLine);
return resultHash;
}
else if(!sCurrentLine.equals(oldCurrentLine)) {
resultHash.put("isexist",isexist);
resultHash.put("currentRow",sCurrentLine);
}
}
}
// System.out.println("not same :"+oldCurrentLine);
if(file.exists()) {
bufferFileWriter.write(oldCurrentLine);
bufferFileWriter.newLine();
bufferFileWriter.flush();
resultHash.put("isexist",true);
resultHash.put("currentRow",oldCurrentLine);
}
else {
File file1 = new File("D:\\groupBy.txt");
bufferFileWriter = new BufferedWriter(new FileWriter(file1,true));
bufferFileWriter.write(oldCurrentLine);
bufferFileWriter.newLine();
bufferFileWriter.flush();
resultHash.put("isexist",true);
resultHash.put("currentRow",oldCurrentLine);
}
return resultHash;
} catch (Exception e) {
/*System.out.println("Exception-----------------"+e);*/
e.printStackTrace();
// File file2 = new File("D:\\groupBy.txt");
// bufferFileWriter = new BufferedWriter(new FileWriter(file2,true));
return resultHash;
} finally {
closeConnections(br,bufferFileWriter);
//File file2 = new File("D:\\groupBy.txt");
//bufferFileWriter = new BufferedWriter(new FileWriter(file2,true));
}
}
public void temFileCreate(BufferedReader br,String currentLine,int count,Vector<Integer> vec,String delimeter)throws IOException
{
BufferedWriter bufferFileWritertemp1=null;
bufferFileWritertemp1 = new BufferedWriter(new FileWriter("D:\\groupBytemp.txt"));
String[] arry=currentLine.split(delimeter);
String currenline1="";
String[] oldarry=null;
while((currenline1=br.readLine())!=null)
{
oldarry=currenline1.split(delimeter);
boolean groupBycolumnsCheckFlag = checkGroupByColumns(vec,arry,oldarry);
//if((arry[0].equals(oldarry[0]))&&(arry[1].equals(oldarry[1]))&&(arry[2].equals(oldarry[2]))&&(arry[3].equals(oldarry[3]))&&(arry[4].equals(oldarry[4]))&&(count==Integer.parseInt(oldarry[oldarry.length-1])))
if(groupBycolumnsCheckFlag&&(count==Integer.parseInt(oldarry[oldarry.length-1])))
{
bufferFileWritertemp1.write(currenline1);
//System.out.println("tempfile line :"+currenline1);
bufferFileWritertemp1.write("\n");
}
//else if(!((arry[0].equals(oldarry[0]))&&(arry[1].equals(oldarry[1]))&&(arry[2].equals(oldarry[2]))&&(arry[3].equals(oldarry[3]))&&(arry[4].equals(oldarry[4]))))
else if(!groupBycolumnsCheckFlag)
{
//System.out.println("temp file not equal :"+currenline1);
bufferFileWritertemp1.write(currenline1);
bufferFileWritertemp1.write("\n");
}
}
closeConnections(br,bufferFileWritertemp1);
/*br = null;
bufferFileWritertemp1 = null;*/
File newfile1 =new File("D:\\groupBy.txt");
if(newfile1.delete()) {
//System.out.println(newfile1.getName() + " is deleted!");
} else {
//System.out.println(newfile1.getName() +"Delete operation is failed.");
}
File oldfile =new File("D:\\groupBytemp.txt");
File newfile =new File("D:\\groupBy.txt");
if(oldfile.renameTo(newfile)){
System.out.println("success -->");
System.gc();
}
else{
File newfile2 =new File("D:\\groupBy.txt");
if(oldfile.renameTo(newfile2)){
System.out.println("???????????????success -->");
}
}
}
public void closeConnections(BufferedReader br,BufferedWriter bw)
{
try {
if(br!=null)
{
try {
br.close();
br = null;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(bw!=null)
{
bw.close();
bw = null;
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public String UpdateSameRowWithCount(Vector<Integer> vec,String[] oldarry,String[] arry) {
String updatedString = "";
for(int index = 0;index<vec.size();index++) {
updatedString += oldarry[vec.get(index)]+",";
}
if(arry!=null && arry.length>0)
updatedString += arry[(arry.length-1)];
return updatedString;
}
public boolean checkGroupByColumns(Vector<Integer> vec,String[] currentRowArray,String[] checkRowArray) {
boolean checkFlag = true;
for(int index = 0;index<vec.size();index++) {
if(!currentRowArray[index].toString().trim().equals(checkRowArray[index].toString().trim())){
checkFlag = false;
return checkFlag; // when index is not matched
}
}
return checkFlag;
}
public static void main(String[] args) {
Groupingclass groupby = new Groupingclass();
Vector<Integer> vec = new Vector<Integer>();
vec.add(0);
vec.add(1);
vec.add(2);
vec.add(3);
vec.add(4);
String delimeter=",";
System.out.println("call prepareGroupBy method");
groupby.prepareGroupBy(vec,delimeter);
}
}**
If you are facing any programming issue, such as compilation errors or not able to find the code you are looking for.
Ask your questions, our development team will try to give answers to your questions.