You could try reCsvEditor, a CSV file viewer/editor which supports a wide variety of field delimiters, very large files and Unicode Files. Files are displayed in a table format.
It seems to match all your requirements, it's written in Java, and it has a SourceForge project portal too (where the program can be downloaded from).
Here is a list of features, taken from its website:
- Supports for very large Files
- Supports just about any character being used as a field separator
- Columns can be added, moved and copied
- Field Separator / Quotes can be changed
- Fields can be both hidden and Fixed in position
- Multiple File Views are Supported including
- Record View - Display a single record with fields going down the page.
- Filtered View - Select Records / Fields to be displayed.
- Sorted Tree View - Gives a Sort / Summary of the file with individual records as leaf's in the tree
- Column View - Rows / Columns swapped.
- Files can be exports as Fixed Width Text or Xml or Html or via Velocity Template (needs separate velocity Download).
A few screenshots to give you an idea of how it looks: