Java 使用Scanner()读取CSV
我的csv正在读入System.out,但是我注意到任何带空格的文本都移到下一行(作为返回\ n)
这是我的csv的启动方式:
first,last,email,address 1, address 2john,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,e1,2,3 4,5
X,Y,Z A,B
输出为:
a|b|c d|e1|2|3 4|5
X|Y|Z A|B|
以上是 Java 使用Scanner()读取CSV 的全部内容, 来源链接: utcz.com/qa/426671.html