从CSV文件添加数据&;在java中,输出数据必须按行对齐

从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)

下面的代码正在读取.csv文件,并以(当前输出)的方式显示在控制台上

我希望它在控制台上显示为(想要的输出)方式…抱歉,我无法添加图像(行)表示在两个数据之间,我需要一条垂直线。。。请引导我。提前谢谢你

想要的输出:-

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中是否可以这样做。