954,510 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

Parsing Text file

Alright, This is really bothering me that I can't figure this out since I took 3 terms of Java.

Alright, I have a text file that contains addresses.

ex:
Name
1234 5th St
Orlando, Fl 19191

Name2
1423 4th ave
New York, NY 09987

and so on and so on.

Originally I was trying to have it take each line and put it into an 2d array.

addyArray[addyIndex][lineOfAddy].

I could not figure out how to make a linebreak (gap) be the delimiter to separate the values.

Most of the addresses will be 3lines, but I wanted the expandability of being able to handle 4 line addies.

Can anyone help me with this? If you need more details either post in here or email me at [email]nscelica@yahoo.com[/email].

Thanks

NSCelica
Newbie Poster
5 posts since Apr 2005
Reputation Points: 10
Solved Threads: 0
 

You can try the StringTokenizer which allows special delimeters. Also, I'm not sure a 2D array is the best way to go, but can't say for a fact that it's not. If you post your parsing code we could probably help more.

server_crash
Postaholic
2,111 posts since Jun 2004
Reputation Points: 113
Solved Threads: 20
 
import cs1.Keyboard;
import java.util.*;
import java.io.*;
public class PrintAddresses
{
	public static void main (String[] args) throws IOException
	{
		String [][] addyArray = new String[50][4];
		for (int j=0; j<50; j++)
		{
			for (int k=0; k<4; k++)
			{
				addyArray[j][k] = "\n";
			}
		}
//		FileWriter outFile = new FileWriter ("results.txt");
//		PrintWriter out = new PrintWriter(outFile);
		FileReader inFile = new FileReader (args[0]);
		BufferedReader in = new BufferedReader (inFile);
		String line = "";
		int i = 0, a = 0;
		while(in.ready())
		{
			line = in.readLine();
			while (line != null && line != "\n")
			{
				addyArray[i][a] = line;
				line = in.readLine();
				a++;
				if (line == null) line = "\n";
			}
			i++;
			a = 0;
		}
		for(int j=0; j<3; j++)
		{
			for(int k=0;k<4;k++)
			{
				System.out.println((j+1) + "-" + (k+1) + " " + addyArray[j][k]);
			}
		}
	}
}
NSCelica
Newbie Poster
5 posts since Apr 2005
Reputation Points: 10
Solved Threads: 0
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You