# Output Problem

• 05-26-2008, 09:28 AM
jazz2k8
Output Problem
Quote:

Purchase Items
Order 458
Invoice No

Date Bill noBill DateDescriptionPurpose Qty Rate/unitAmt Remark
12/05/05 152 11/06/08 abc xyz 12 15 250 Abcef
11/05/05 2561 12/07/08 wtc prvn 25 2 2530 good
12/05/05 8695 05/05/08 pen Abcd 12 21 24 Bad
12/05/08 8956 06/05/08 Pencil Drawing 5 2 10 good

Team member: 5 Authorised By: praveen
Employee ID & Signature: 1478 praveen Signature
I am in need of
Quote:

12/05/05 152 11/06/08 abc xyz 12 15 250 Abcef
11/05/05 2561 12/07/08 wtc prvn 25 2 2530 good
12/05/05 8695 05/05/08 pen Abcd 12 21 24 Bad
12/05/08 8956 06/05/08 Pencil Drawing 5 2 10 good
But as per My code out put is this format
Quote:

12/05/05 152 11/06/08 abc xyz 12 15 250 Abcef
11/05/05 2561 12/07/08 wtc prvn 25 2 2530 good
12/05/05 8695 05/05/08 pen Abcd 12 21 24 Bad
12/05/08 8956 06/05/08 Pencil Drawing 5 2 10 good
Team member: 5 Authorised By: praveen
Employee ID & Signature: 1478 praveen Signature
My code
Quote:

class purchasevchr {

public static String inputFile = "purchase.txt";//Input file
purchase pfr = new purchase();

public void formatFile() {
{

try {
FileInputStream in = new FileInputStream(inputFile);
String strLine;

String regEx1 = "(\\d+/)";//date format is matched here
Pattern regEx1P = Pattern.compile(regEx1);

while ((strLine = br.readLine()) != null) {

System.out.println(strLine);//line by line printing
}

} catch (Exception e) {
System.out.println("Exception " + e);
}
}

}

public class sample{

public static void main(String args[]){
purchasevchr ob=new purchasevchr();
ob.formatFile();
}
}
i tried with the code
Quote:

/*

import java.io.FileInputStream;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class expense1 {

public static String inputFile = "expense.txt";

public void formatFile() {

try
{
FileInputStream in = new FileInputStream(inputFile);
String strLine;

String regEx1 = "([0-9]/)";
Pattern regEx1P = Pattern.compile(regEx1);

System.out.println("Date " + "Bill " + "noBill" + "DateDescription" + " Purpose" +
"Qty" + "Dist " + "Rate/unitAmt" + "Remark");

{
Matcher match1 = regEx1P.matcher(strLine);

if (match1.find())
{
System.out.println(strLine);
}

//System.out.println(strLine);
}
}
catch (Exception e)
{
System.out.println("Ouch! " + e);
}
}

public static void main(String[] args) {
expense1 exp = new expense1();
exp.formatFile();

}
}
output i am getting is:
Quote:

Date Bill noBillDateDescription PurposeQtyDist Rate/unitAmtRemark
12/05/05 152 11/06/08 abc xyz 12 15 250 Abcef
11/05/05 2561 12/07/08 wtc prvn 25 2 2530 good
12/05/05 8695 05/05/08 pen Abcd 12 21 24 Bad
12/05/08 8956 06/05/08 Pencil Drawing 5 2 10 good
at the end i am also getting the "Received Date:12/05/08".i dnt want this

can you help me in this..

• 05-26-2008, 09:38 AM
Eranga
Try to find the patter on xx/xx/xx in each string and get the whole string as output.
• 05-26-2008, 10:36 AM
jazz2k8
Thats wat i did but ..the issue with the Date Format..it is also taking the
"Received Date:12/05/08"...even i ried with string split('' ");but no use..

can you help me in this
• 05-26-2008, 10:40 AM
Eranga
Use the split on first space. In that case you can skip Data and Received from string.
• 05-26-2008, 10:59 AM
Eranga
If the way you have formated the date is fix, you can use following code.

Code:

```    public void formatFile() {         try {             FileInputStream in = new FileInputStream(inputFile);             BufferedReader br = new BufferedReader(new InputStreamReader(in));             String strLine;             String regEx1 = "([0-9]/)";             Pattern regEx1P = Pattern.compile(regEx1);             System.out.println("Date " + "Bill " + "noBill" + "DateDescription" + " Purpose" +                         "Qty" + "Dist " + "Rate/unitAmt" + "Remark");                 while((strLine = br.readLine())!= null) {                     Matcher match1 = regEx1P.matcher(strLine);                     if (match1.find()) {                         getFirstPart(strLine);                     }                     //System.out.println(strLine);                 }             }         catch (Exception e) {             System.out.println("Ouch! " + e);         }     }     private void getFirstPart(String str) {         if(str.charAt(2) == '/') {             System.out.println(str);         }     }```