我的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程序,该程序逐行读取文本文件,每个文本文件都有一个数字,将每个数字都将其扔到数组中,然后尝试使用插入排序对数组进行排序。我需要有关程序读取文本文件的帮助。 我收到以下错误消息: 我的“ src”,“ bin”和主项目文件夹中有.txt文件的副本,但仍找不到该文件。我正在使用Eclipse。 问题答案: 你必须把文件扩展名放在这里
问题内容: 我得到以下代码: 当我运行此代码时,扫描仪将仅选择名字而不是姓氏。并且有时在尝试输入名称时会跳过一行,它会显示出来,好像我将名称留空并跳到下一个名称一样。我不知道是什么原因造成的。 我希望有一个人可以帮助我! 编辑:我试过in.nextLine(); 它修复了全名,但仍然保留一行,这是输出示例: 问题答案: 代替: 用: 读取字符,直到找到换行符
问题内容: 在那里,我正在制作此应用来更改字幕文件。当我测试它时,我遇到一个奇怪的问题,当我在非英语(例如,波斯语)上对其进行测试时,该程序将无法读取该文件。这是我在程序中阅读字幕的方式: 其中address是.srt文件的字符串保留位置。 我应该怎么做才能使程序读取文件? 问题答案: 创建时选择其他编码。 遵循此思路的某些方法可能会起作用: 这将更改扫描程序以使用UTF-16编码读取文件。
问题内容: 我正在尝试为我的程序创建一个简单的菜单来读取用户输入。这是代码: 这是我得到的例外测试: 我从while循环中删除了第二个命令= Scanner.next(),但是让我仅读取一次用户输入。怎么解决呢? 更新:AddWord方法: 问题答案: 您可以使用
问题内容: 如何使用该类从控制台读取输入?像这样: 基本上,我只需要让扫描程序读取用户名的输入,然后将输入分配给变量。 问题答案: 一个简单的例子来说明如何从中读取单个整数。这真的很简单。 要检索用户名,我可能会使用。 如果你想对输入进行更多控制,或者仅验证变量,也可以使用。 你可以在API文档中找到有关其实现的更多信息
如何使用类从控制台读取输入?类似这样的事情: 基本上,我想要的只是让扫描器读取用户名的输入,并将输入赋给变量。