java - 如何拆分返回的列表来自文本文件的逗号?
问题描述
我正在从一个文本文件 ( usernames.txt
) 中读取,该文件的值由逗号分隔:
AA328747、AA337748、AA057393、AA290457、AA467620、AA225950、AA352105、AA108183、AA057070、
使用我的方法:
public static List<String> readUsername(String path){
File file = new File(path);
Reader fileReader;
List<String> list = new ArrayList<String>();
String username;
try
{
fileReader = new FileReader(file);
BufferedReader br = new BufferedReader(fileReader);
username = br.readLine();
while (username != null)
{
list.add(username);
username= br.readLine();
}
br.close();
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
return list;
}
我尝试将其打印到控制台:
List<String> usernameList = readUsername(fileStr);
for (int i=0; i < usernameList.size(); i++)
{
System.out.println(usernameList.size());
System.out.println(usernameList.get(i) + " end");
}
fireStr
我的路径文件字符串在哪里。
它打印得很好,但列表对象 ( usernameList.size()
) 的大小仅为1
.
打印出来的是:
AA328747、AA337748、AA057393、AA290457、AA467620、AA225950、AA352105、AA108183、AA057070、结束
我希望它如何打印出来是这样的:
AA328747 结束
AA337748 结束
AA057393 结束
AA290457 结束
AA467620 结束
AA225950 结束
AA352105 结束
AA108183 结束
AA057070 结束
并且列表大小应该超过1
项目(在我的示例中,它应该是9
文本文件中的九个用户名)。
如何摆脱逗号并将每个用户名评估为单独的字符串而不是一个大字符串?
解决方案
如下更新您的功能readUsername
。
while (username != null) {
List<String> tmp = Arrays.asList(username.split(","));
tmp.removeIf(u -> u.isEmpty());
list.addAll(tmp);
usernames = br.readLine();
}
推荐阅读
- php - 贝宝智能订阅服务器端
- javascript - 如何使用反应分隔数组中的项目
- dialogflow-es - 错误:“us”中的 Dialogflow 服务器收到了对“europe-west2-dialogflow.googleapis.com”中资源的请求。
- python - 使用 python 创建 Azure 虚拟机的问题
- reactjs - Dockerize React 应用程序和 Go API - 代理问题
- javascript - 如何在尝试使用 gulp 时修复“3.27 秒后错误”的“'default'”?
- netlogo - 如果满足条件,使乌龟变化变量
- r - 相互减去多列
- python - 在 Django 模板中未重新分配变量
- python - AttributeError:“模块”对象没有属性“decrypt_pwd”