Java 使用空格分隔符从文件中读取
大家好,我需要帮助读取带有空格分隔符的文件。例如,问题是我得到了一个文本文件,格式如下:id name 例如: 我的名字 如何将字符串(我的名字)组合在一起,因为我尝试过的代码只会得到我(我的名字)。我无法更改文本文件中的分隔符Java 使用空格分隔符从文件中读取,java,Java,大家好,我需要帮助读取带有空格分隔符的文件。例如,问题是我得到了一个文本文件,格式如下:id name 例如: 我的名字 如何将字符串(我的名字)组合在一起,因为我尝试过的代码只会得到我(我的名字)。我无法更改文本文件中的分隔符 while(myScanner.hasNextLine()) { String readLine = myScanner.nextLine(); String readData[] = re
while(myScanner.hasNextLine())
{
String readLine = myScanner.nextLine();
String readData[] = readLine.split(" ");
String index = readData[0];
String name = readData[1];
}
myScanner.close();
如果始终是id空间名称,后面没有任何内容,则可以执行以下操作:
String readLine = myScanner.nextLine();
int split = readLine.indexOf(" ");
String index = readLine.substring(0, split);
String name = readLine.substring(split + 1);
但是,只有当这两个字段是唯一的两个字段时,这才会起作用。如果在此之后添加更多字段,则无法(常规)确定项目2结束和项目3开始的位置
另一种方法是使用next
,nextInt
等,准确读出您想要的内容:
String index = myScanner.next(); //Or int index = myScanner.nextInt();
String name = myScanner.nextLine().substring(1); //drop the leading space
这是一种更灵活的方法,可能更适合您的需要。使用以下代码
while(myScanner.hasNextLine())
{
String readLine = myScanner.nextLine();
if(null != readLine && readLine.length()>0) {
String index = readLine.substring(0, id.indexOf(" "));
String name = readLine.substring(id.indexOf(" ") + 1);
}
}
myScanner.close();
索引2将包含名称,然后您可以简单地将两者连接起来(即my和name以获得所需的结果)。嗯,但是如果名称只是name而不是my name,那么索引2将出现错误