Java 使用Scanner()读取CSV

我的csv正在读入System.out,但是我注意到任何带空格的文本都移到下一行(作为返回\ n)

这是我的csv的启动方式:

first,last,email,address 1, address 2

john,smith,blah@blah.com,123 St. Street,

Jane,Smith,blech@blech.com,4455 Roger Cir,apt 2

运行我的应用程序后,任何带有空格(地址1)的单元格都将扔到下一行。

import java.io.File;

import java.io.FileNotFoundException;

import java.util.Scanner;

public class main {

public static void main(String[] args) {

// -define .csv file in app

String fileNameDefined = "uploadedcsv/employees.csv";

// -File class needed to turn stringName to actual file

File file = new File(fileNameDefined);

try{

// -read from filePooped with Scanner class

Scanner inputStream = new Scanner(file);

// hashNext() loops line-by-line

while(inputStream.hasNext()){

//read single line, put in string

String data = inputStream.next();

System.out.println(data + "***");

}

// after loop, close scanner

inputStream.close();

}catch (FileNotFoundException e){

e.printStackTrace();

}

}

}

因此,这是控制台中的结果:

first,last,email,address 

1,address

2

john,smith,blah@blah.com,123

St.

Street,

Jane,Smith,blech@blech.com,4455

Roger

Cir,apt

2

我使用扫描仪的方式有误吗?

回答:

scanner.useDelimiter(",");

这应该工作。

import java.io.File;

import java.io.FileNotFoundException;

import java.util.Scanner;

public class TestScanner {

public static void main(String[] args) throws FileNotFoundException {

Scanner scanner = new Scanner(new File("/Users/pankaj/abc.csv"));

scanner.useDelimiter(",");

while(scanner.hasNext()){

System.out.print(scanner.next()+"|");

}

scanner.close();

}

}

对于CSV文件:

a,b,c d,e

1,2,3 4,5

X,Y,Z A,B

输出为:

a|b|c d|e

1|2|3 4|5

X|Y|Z A|B|

以上是 Java 使用Scanner()读取CSV 的全部内容, 来源链接: utcz.com/qa/426671.html

回到顶部