[SOLVED] Help with getting open CSV to work
Hey guys,
I posed this on the sourceforge.net site forum, but I think my problem may not be specific to the open CSV code.
I am having a problem with the code samples provided on: Java CSV - java code samples
I assume that these should work with the following files in the same directory:
CsvReader.java
CsvWriter.java
csv_test.java
products.csv
my csv_test.java file contains:
--------------
public class cvs_test {
CsvReader reader = new CsvReader("products.csv");
reader.readHeaders();
while (reader.readRecord())
{
String productID = reader.get("ProductID");
String productName = reader.get("ProductName");
String supplierID = reader.get("SupplierID");
String categoryID = reader.get("CategoryID");
String quantityPerUnit = reader.get("QuantityPerUnit");
String unitPrice = reader.get("UnitPrice");
String unitsInStock = reader.get("UnitsInStock");
String unitsOnOrder = reader.get("UnitsOnOrder");
String reorderLevel = reader.get("ReorderLevel");
String discontinued = reader.get("Discontinued");
// perform program logic here
}
reader.close();
}
--------------
The response I get is:
--------------
>javac csv_test.java
csv_test.java:4: <identifier> expected
reader.readHeaders();
^
csv_test.java:6: illegal start of type
while (reader.readRecord())
^
csv_test.java:6: <identifier> expected
while (reader.readRecord())
^
csv_test.java:6: ';' expected
while (reader.readRecord())
^
csv_test.java:6: illegal start of type
while (reader.readRecord())
^
csv_test.java:6: <identifier> expected
while (reader.readRecord())
^
csv_test.java:7: ';' expected
{
^
csv_test.java:8: <identifier> expected
String productID = reader.get("ProductID");
^
csv_test.java:23: class, interface, or enum expected
reader.close();
^
csv_test.java:24: class, interface, or enum expected
}
^
10 errors
>Exit code: 1
--------------
Any ideas on getting this code to work?
I am using windows XP and the SciTE IDE.
Eventually I will need to be writing to about 10 different CSV tables.
Something is still very wrong.
Even when I download the whole package of javacsv code from sourceforge.net ( https://sourceforge.net/project/show...ease_id=470782 ) and just run the "AllTests.java" that is given, I get about 100 errors:
Code:
AllTests.java:20: package org.junit does not exist
import org.junit.After;
^
AllTests.java:21: package org.junit does not exist
import org.junit.Assert;
^
AllTests.java:22: package org.junit does not exist
import org.junit.Before;
^
AllTests.java:23: package org.junit does not exist
import org.junit.Ignore;
^
AllTests.java:24: package org.junit does not exist
import org.junit.Test;
^
AllTests.java:136: cannot find symbol
symbol : class Test
location: class AllTests
@Test
...
I tried to get my code to the right spot on my hard disk and checked out the "bad class file" error I was getting at this page: compile time error messages : Java Glossary but after checking and re-checking the location I still cannot see what I am doing wrong.
I have these files in the same directory (as before):
CsvReader.java
CsvWriter.java
csv_test.java
products.csv
My code is now:
Code:
import CsvReader;
public class csv_test{
public static void main (String[] args){
CsvReader reader = new CsvReader("products.csv");
reader.readHeaders();
while (reader.readRecord()){
String productID = reader.get("ProductID");
System.out.println("productID = " + productID);
String productName = reader.get("ProductName");
System.out.println("productName = " + productName);
String supplierID = reader.get("SupplierID");
String categoryID = reader.get("CategoryID");
String quantityPerUnit = reader.get("QuantityPerUnit");
String unitPrice = reader.get("UnitPrice");
String unitsInStock = reader.get("UnitsInStock");
String unitsOnOrder = reader.get("UnitsOnOrder");
String reorderLevel = reader.get("ReorderLevel");
String discontinued = reader.get("Discontinued");
// perform program logic here
}
reader.close();
}
}
The error I get from that is:
Code:
>javac csv_test.java
csv_test.java:1: '.' expected
import CsvReader;
^
csv_test.java:1: ';' expected
import CsvReader;
^
2 errors
>Exit code: 1
But if I run this code (note commented out line):
Code:
//~ import CsvReader;
public class csv_test{
public static void main (String[] args){
CsvReader reader = new CsvReader("products.csv");
reader.readHeaders();
while (reader.readRecord()){
String productID = reader.get("ProductID");
System.out.println("productID = " + productID);
String productName = reader.get("ProductName");
System.out.println("productName = " + productName);
String supplierID = reader.get("SupplierID");
String categoryID = reader.get("CategoryID");
String quantityPerUnit = reader.get("QuantityPerUnit");
String unitPrice = reader.get("UnitPrice");
String unitsInStock = reader.get("UnitsInStock");
String unitsOnOrder = reader.get("UnitsOnOrder");
String reorderLevel = reader.get("ReorderLevel");
String discontinued = reader.get("Discontinued");
// perform program logic here
}
reader.close();
}
}
gives:
Code:
>javac csv_test.java
csv_test.java:4: cannot access CsvReader
bad class file: .\CsvReader.java
file does not contain class CsvReader
Please remove or make sure it appears in the correct subdirectory of the classpath.
CsvReader reader = new CsvReader("products.csv");
^
1 error
>Exit code: 1
Does anyone know how to fix this? Where should I have put those files? Do I have to use an import if my code files are all in the same directory? How can I specify a different directory to the CsvReader.java and CsvWriter.java?
Cheers,