rolandmy
asked on
Insert an Image into CSV file
I want to write a Java Program to insert an image into CSV file.
Image is stored locally. Any experts able to provide some sample code?
Image is stored locally. Any experts able to provide some sample code?
You need to store the path to the image or base64 encode the binary form
ASKER
As stated in the question, I need a sample code as reference.
What csv are you starting with?
ASKER
How do I insert an image into sample.csv?
Code is like below:
java.io.FileOutputStream os = new java.io.FileOutputStream(n ew java.io.File("C:\\work\\sa mple.csv") );
java.io.PrintWriter pw = new java.io.PrintWriter(os, true);
String separator = ",";
String [] content = new String [2];
content[0]= "content 0"+separator+ (
("data 01 ")+separator+
("data 02 ")+separator+
("data 03 ")+separator+
("data 04 ")+separator+
("data 05 ")+separator
);
content[1]= "content 1"+separator+ (
("rdata 01 ")+separator+
("rdata 02 ")+separator+
("rdata 03 ")+separator+
("rdata 04 ")+separator+
("rdata 05 ")+separator
);
for(int i=0;i<content.length;i++){
pw.println( content[i]);
pw.flush();
}
Code is like below:
java.io.FileOutputStream os = new java.io.FileOutputStream(n
java.io.PrintWriter pw = new java.io.PrintWriter(os, true);
String separator = ",";
String [] content = new String [2];
content[0]= "content 0"+separator+ (
("data 01 ")+separator+
("data 02 ")+separator+
("data 03 ")+separator+
("data 04 ")+separator+
("data 05 ")+separator
);
content[1]= "content 1"+separator+ (
("rdata 01 ")+separator+
("rdata 02 ")+separator+
("rdata 03 ")+separator+
("rdata 04 ")+separator+
("rdata 05 ")+separator
);
for(int i=0;i<content.length;i++){
pw.println( content[i]);
pw.flush();
}
ASKER CERTIFIED SOLUTION
membership
Create a free account to see this answer
Signing up is free and takes 30 seconds. No credit card required.
SOLUTION
membership
Create a free account to see this answer
Signing up is free and takes 30 seconds. No credit card required.
>>read its content into byte[] array
Ooh no. It needs to be base64-encoded if you want to embed it. csv files are text files
Ooh no. It needs to be base64-encoded if you want to embed it. csv files are text files
This article http://creativyst.com/Doc/Articles/CSV/CSV01.htm (see the 1st paragrpah in the CSV & Unicode section) suggests that any ASCII character can be used in CSV. The encoding will be needed only to transfer such a file.
Yes, but a byte[] will contain many unprintable characters, and, ahem ... the csv separator ;)
There is no requirement for the characters to be printable, it will do if the processing application knows how to handle the raw byte data.
If the fields are enclosed into double quotes, then the content can be anything, including commas, double quotes and new lines - that's where the 3rd party tools you recommended come handy.
If the fields are enclosed into double quotes, then the content can be anything, including commas, double quotes and new lines - that's where the 3rd party tools you recommended come handy.
>>There is no requirement for the characters to be printable
Yes, but why on earth would you want your csv file to be messed up, with line feeds and other 'garbage'?
Yes, but why on earth would you want your csv file to be messed up, with line feeds and other 'garbage'?
I wouldn't even store an image in it !
No - nor would i - that's why i recommended storing a path to the image, but of course rolandmy might not want to be dependent on a particular file system
ASKER
Abandoning this question, haven't found a 100% solution for this question yet. Will split points between Hegemon and CEHJ.
ASKER
Not a 100% solution.
:)