如何在Java中从文本文件中读取字符串?
我有一个问题,因为我不知道如何从一个文件中读取一行(我搜索了,我尝试了,但没有任何效果)。我需要它,因为我想在我未来的项目中使用它(我的游戏中服务器上被阻止的玩家列表)。开始时,我将播放器和禁止的原因保存到HashMap中。然后我必须读取这个昵称,并将其与原因分开,然后检查昵称(CheckPlayerTheBanList方法(String nick)中的参数)是否与我保存HashMap的文件中的名称一致。然后,如果名称(参数)与文件中的名称匹配,则播放器将无法进入服务器。以下是bannedplayers.txt文件的内容:如何在Java中从文本文件中读取字符串?,java,Java,我有一个问题,因为我不知道如何从一个文件中读取一行(我搜索了,我尝试了,但没有任何效果)。我需要它,因为我想在我未来的项目中使用它(我的游戏中服务器上被阻止的玩家列表)。开始时,我将播放器和禁止的原因保存到HashMap中。然后我必须读取这个昵称,并将其与原因分开,然后检查昵称(CheckPlayerTheBanList方法(String nick)中的参数)是否与我保存HashMap的文件中的名称一致。然后,如果名称(参数)与文件中的名称匹配,则播放器将无法进入服务器。以下是bannedpla
hacker=Cheating!
player=Swearing!
以下是Server.java的一部分:
public HashMap<String, String> bannedPlayersWr = new HashMap<String, String>();
public void start(String nick) {
banPlayer("player", "Swearing!");
banPlayer("hacker", "Cheating!");
boolean player = checkPlayerOnBanMap(nick);
if (player) {
System.out.println("You are banned! Your nick: " + nick);
System.out.println("Reason: " + bannedPlayersWr.get(nick));
try {
FileWriter fstream;
BufferedWriter out;
fstream = new FileWriter("C:/Users/User/Desktop/bannedplayers.txt");
out = new BufferedWriter(fstream);
Iterator<Entry<String, String>> it = bannedPlayersWr.entrySet().iterator();
while (it.hasNext()) {
Entry<String, String> pairs = it.next();
out.write(pairs.toString() + "\n");
}
out.close();
} catch (IOException e) {
e.printStackTrace();
}
} else {
System.out.println("Welcome to the server! Your nick: " + nick);
}
}
private void banPlayer(String nick, String reason) {
bannedPlayersWr.put(nick, reason);
}
public HashMap bannedPlayersWr=new HashMap();
公共无效开始(字符串){
banPlayer(“player”,“发誓!”);
banPlayer(“黑客”,“作弊!”);
布尔播放器=checkPlayerOnBanMap(尼克);
如果(球员){
System.out.println(“你被禁止了!你的尼克:+nick”);
System.out.println(“原因:+bannedPlayersWr.get(nick));
试一试{
文件写入程序fstream;
缓冲写入输出;
fstream=newfilewriter(“C:/Users/User/Desktop/bannedplayers.txt”);
out=新的缓冲写入程序(fstream);
迭代器it=bannedPlayersWr.entrySet().Iterator();
while(it.hasNext()){
条目对=it.next();
out.write(pairs.toString()+“\n”);
}
out.close();
}捕获(IOE异常){
e、 printStackTrace();
}
}否则{
System.out.println(“欢迎来到服务器!您的尼克:+nick”);
}
}
私人无效banPlayer(字符串尼克、字符串原因){
横幅展示(尼克,原因);
}
一种逐行读取文件并将每一行作为列表元素的简单方法,希望它能帮助您根据需要修改它
private List<String> readFile(String filename)
throws Exception
{
String line = null;
List<String> records = new ArrayList<String>();
// wrap a BufferedReader around FileReader
BufferedReader bufferedReader = new BufferedReader(new FileReader(filename));
// use the readLine method of the BufferedReader to read one line at a time.
// the readLine method returns null when there is nothing else to read.
while ((line = bufferedReader.readLine()) != null)
{
records.add(line);
}
// close the BufferedReader when we're done
bufferedReader.close();
return records;
}
私有列表读取文件(字符串文件名)
抛出异常
{
字符串行=null;
列表记录=新的ArrayList();
//将BufferedReader包装在FileReader周围
BufferedReader BufferedReader=新的BufferedReader(新文件读取器(文件名));
//使用BufferedReader的readLine方法一次读取一行。
//当没有其他内容可读取时,readLine方法返回null。
而((line=bufferedReader.readLine())!=null)
{
记录。添加(行);
}
//完成后关闭BufferedReader
bufferedReader.close();
退货记录;
}
一种逐行读取文件并将每一行作为列表元素的简单方法,希望它能帮助您根据需要修改它
private List<String> readFile(String filename)
throws Exception
{
String line = null;
List<String> records = new ArrayList<String>();
// wrap a BufferedReader around FileReader
BufferedReader bufferedReader = new BufferedReader(new FileReader(filename));
// use the readLine method of the BufferedReader to read one line at a time.
// the readLine method returns null when there is nothing else to read.
while ((line = bufferedReader.readLine()) != null)
{
records.add(line);
}
// close the BufferedReader when we're done
bufferedReader.close();
return records;
}
私有列表读取文件(字符串文件名)
抛出异常
{
字符串行=null;
列表记录=新的ArrayList();
//将BufferedReader包装在FileReader周围
BufferedReader BufferedReader=新的BufferedReader(新文件读取器(文件名));
//使用BufferedReader的readLine方法一次读取一行。
//当没有其他内容可读取时,readLine方法返回null。
而((line=bufferedReader.readLine())!=null)
{
记录。添加(行);
}
//完成后关闭BufferedReader
bufferedReader.close();
退货记录;
}
好的,我今天早上会试试看,它对我不起作用,但非常感谢您的回答。好的,我今天早上会试试看,它对我不起作用,但非常感谢您的回答。