write the code to open Jframe, Scan barcode over there, read that and go into correct file, search for the cust_number and read that line and write into new file.. I am getting two problem please help me!! Thanks!!
Here is my code:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
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 javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;
public class searchfile2 {
/**
* @param args
*/
public static void delFileFromDir(String dirPath) {
File dir = new File(dirPath);
if(dir.listFiles() == null)
return;
for(File file: dir.listFiles())
{
if(!file.isDirectory())
file.delete();
}
}
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
final JFrame frame = new JFrame("Scan Here: ");
JPanel panel = new JPanel();
final JTextArea text = new JTextArea(20, 40);
JButton button = new JButton("Enter");
frame.add(panel);
panel.add(text);
panel.add(button);
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
BufferedReader br = null;
BufferedWriter bfAll = null;
String scanner = (text.getText());
//System.out.println(scanner);
try {
for (String s : scanner.split("\n")) {
String[] actionID = s.split("\\|");
String cust_num = actionID[0];
String date = actionID[1];
String type = actionID[2];
//System.out.println(cust_num + " Type: " + type);
if(type.equals("BW")){
//System.out.println(type);
File folderBW = new File("prod\\BW");
File[] BFFileBW = folderBW.listFiles();
String reprintbw = ("out\\" + "BWreprintrecord" + ".txt");
bfAll = new BufferedWriter(new FileWriter(reprintbw));
for (File file1 : BFFileBW) {
String strbw = file1.getName();
//System.out.println(strbw);
if((date.subSequence(0, 2)).equals(strbw.subSequence(0, 2)) && (date.substring(2, 4)).equals(strbw.subSequence(3, 5)) && (date.subSequence(4, 6)).equals(strbw.subSequence(8, 10))){
System.out.println("hdssdjsshdghjsdghjsdghjsdghjsdgjhsd " + strbw);
File foldertotalcountlettersdate = new File("prod\\BW\\" + strbw);
File[] listOfFilestotalcountlettersdate = foldertotalcountlettersdate.listFiles();
String totalcountlettersdate;
try{
for (int itotalcountdate = 0; itotalcountdate < listOfFilestotalcountlettersdate.length; itotalcountdate++) {
if (listOfFilestotalcountlettersdate[itotalcountdate].isFile()) {
totalcountlettersdate = listOfFilestotalcountlettersdate[itotalcountdate].getAbsolutePath();
System.out.println("File Name: " + totalcountlettersdate);
br = new BufferedReader(new FileReader(totalcountlettersdate));
String line;
line = br.readLine();
bfAll.write(line);
bfAll.newLine();
line = br.readLine();
bfAll.write(line);bfAll.newLine();
line = br.readLine();
bfAll.write(line);bfAll.newLine();
line = br.readLine();
bfAll.write(line);bfAll.newLine();
line = br.readLine();
bfAll.write(line);bfAll.newLine();
line = br.readLine();
bfAll.write(line);bfAll.newLine();
line = br.readLine();
bfAll.write(line);bfAll.newLine();
while ((line = br.readLine()) != null) {
String[] actionIDprod = line.split("\\|");
String typeprod = actionIDprod[3];
String typeprodname = actionIDprod[4];
if(typeprod.equals(cust_num)) {
line = br.readLine();
System.out.println(line);
System.out.println(cust_num + "-------" + typeprodname);
}
}
br.close();
}
}
} catch(Exception e2) {
e2.printStackTrace();
}
}
}
bfAll.newLine();
bfAll.flush();
bfAll.close();
}
}
} catch(Exception e1) {
e1.printStackTrace();
}
frame.dispose();
}
});
frame.setSize(500, 400);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
problem is while writing that line in file..
bfAll.write(line);
its only writing one line last one.. I need to write all the lines in one file, I think its replace!! Please help me!! Thanks!!
And In Jframe!! I scan is:
027421940|072213|BW|
600295885|072113|BW|
600253827|072113|BW|
600295333885|072113|LETTERS|
search for all 027421940 cust_number in file:: read that line write in file.. but, its only writing one line in file.. I think its replace that's why!! Please help me I have no idea!! Thanks in advanced!!