从CSV文件添加数据&;在java中,输出数据必须按行对齐
下面的代码正在读取.csv文件,并以(当前输出)的方式显示在控制台上 我希望它在控制台上显示为(想要的输出)方式…抱歉,我无法添加图像(行)表示在两个数据之间,我需要一条垂直线。。。请引导我。提前谢谢你 想要的输出:-从CSV文件添加数据&;在java中,输出数据必须按行对齐,java,csv,Java,Csv,下面的代码正在读取.csv文件,并以(当前输出)的方式显示在控制台上 我希望它在控制台上显示为(想要的输出)方式…抱歉,我无法添加图像(行)表示在两个数据之间,我需要一条垂直线。。。请引导我。提前谢谢你 想要的输出:- Firstname (line) Lastname (line) Main-Email (line) (current employer) (line) ram (line) rfa (line) k@.com (line) (golhys)
Firstname (line) Lastname (line) Main-Email (line) (current employer) (line)
ram (line) rfa (line) k@.com (line) (golhys) (line)
Line # 1 Token : "First Name","Last Name","Main-Email","Current Employer","Internal Contact ID","PSI Club Member Nbr.","Membership Type","Membership Status","Member Since","Membership Card Sent","Membership Start Date","Membership Expiration Date","Nationality 1","Membership ID"
电流输出:-
Firstname (line) Lastname (line) Main-Email (line) (current employer) (line)
ram (line) rfa (line) k@.com (line) (golhys) (line)
Line # 1 Token : "First Name","Last Name","Main-Email","Current Employer","Internal Contact ID","PSI Club Member Nbr.","Membership Type","Membership Status","Member Since","Membership Card Sent","Membership Start Date","Membership Expiration Date","Nationality 1","Membership ID"
Readfile.java
public static void main(String[] args) {
String fileName="C:/Users/Desktop/cvsFile.csv";
try {
BufferedReader br = new BufferedReader( new FileReader(fileName));
// String strLine = null;
StringTokenizer st = null;
int lineNumber = 0, tokenNumber = 0;
while( (fileName = br.readLine()) != null)
{
lineNumber++;
//break comma separated line using ","
st = new StringTokenizer(fileName, "");
while(st.hasMoreTokens())
{
//display csv values
tokenNumber++;
System.out.println("Line # " + lineNumber + " Token : "+ st.nextToken());//.replaceAll(",", ",|,") replaceAll("..(?!$)", "$0 ")
}
//reset token number
tokenNumber = 0;
}
}
catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
请参阅此代码:
public static void main(String[] args) {
String fileName="/home/Csvfile.csv";
try {
BufferedReader br = new BufferedReader( new FileReader(fileName));
String strLine = null;
StringTokenizer st = null;
int lineNumber = 0, tokenNumber = 0;
while( (fileName = br.readLine()) != null)
{
lineNumber++;
//break comma separated line using ","
st = new StringTokenizer(fileName, ",");
System.out.print("\n" + lineNumber + " | ");
while(st.hasMoreTokens())
{
//display csv values
tokenNumber++;
System.out.print(st.nextToken()+" | ");
}
//reset token number
tokenNumber = 0;
}
}
catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
我是这样做的
public static void main(String[] args) {
String fileName = "cvsFile.csv";
ArrayList<Integer> margins = new ArrayList<Integer>();
BufferedReader br;
String line, token;
int i;
try {
br = new BufferedReader(new FileReader(fileName));
while ((line = br.readLine()) != null) {
StringTokenizer st = new StringTokenizer(line, ",\"");
i = 0;
while (st.hasMoreTokens()) {
token = st.nextToken();
if (margins.size() <= i) {
margins.add((Integer) token.length());
} else {
margins.set(
i,
Math.max(margins.get(i),
(Integer) token.length()));
}
i++;
}
}
br = new BufferedReader(new FileReader(fileName));
while ((line = br.readLine()) != null) {
StringTokenizer st = new StringTokenizer(line, ",\"");
i = 0;
while (st.hasMoreTokens()) {
token = st.nextToken();
System.out.print(token);
for (int j = 0; j < margins.get(i) - token.length(); j++) {
System.out.print(" ");
}
System.out.print("|");
i++;
}
System.out.println();
}
} catch (IOException e) {
e.printStackTrace();
}
}
publicstaticvoidmain(字符串[]args){
字符串fileName=“cvsFile.csv”;
ArrayList页边距=新的ArrayList();
缓冲剂;
字符串行、令牌;
int i;
试一试{
br=新的BufferedReader(新的文件读取器(文件名));
而((line=br.readLine())!=null){
StringTokenizer st=新的StringTokenizer(行“,\”);
i=0;
而(st.hasMoreTokens()){
token=st.nextToken();
如果(margins.size()我们可以在两个数据之间添加垂直线..有点像excel..示例所有rahul(名称)必须位于第一个垂直线下,下一个raj(lastname)数据必须位于姓氏数据下,然后是垂直线..在java中是否可以这样做。