我正在尝试从.txt
文件中获取文本并将其写在System
中,但它无效。
我的User.txt
文件的格式为
user:pass
user2:pass2
etc
我想让用户一次传递一个并在System
中显示。
当前系统为"详细信息"显示.txt文件的路径
"用户名"节目" C"
"密码"节目" C"
我假设C启动路径文件。我不确定为什么它没有从.txt
文件中获取文本。
我做错了什么?
此外,它在第一次迭代后清除整个.txt
。
String username;
String password;
String details;
try {
Scanner fileScanner = new Scanner(getDirectoryData() + "User.txt");
details = fileScanner.nextLine();
System.out.println(details);
username = details.split(":")[0].split("@")[0];
password = details.split(":")[0];
System.out.println(username);
System.out.println(password);
FileWriter fileStream = new FileWriter(getDirectoryData() + "User.txt");
BufferedWriter out = new BufferedWriter(fileStream);
// sendMessage("INFO:BOT:" + username);
while(fileScanner.hasNextLine()) {
String next = fileScanner.nextLine();
if(next.equals("\n")) {
out.newLine();
} else {
out.write(next);
out.newLine();
}
}
out.close();
} catch (IOException e) {
e.printStackTrace();
}
答案 0 :(得分:1)
因此,您遇到的问题是扫描程序正在将字符串读作getDirectoryData() + "User.txt"
,而不是读取您想要读取的文件。这就是为什么您获取文件名而不是文件内容的原因。
以下是修改代码以解决此问题的方法:
File file = new File(getDirectoryData() + "User.txt");
Scanner fileScanner = new Scanner(file);
details = fileScanner.nextLine();
System.out.println(details);
答案 1 :(得分:0)
If you are wanting to read all the entries from the file, probably you should do this and please change file directory as per your requirement.
null