嗨,我在从文本文件读取到数组时遇到了一些问题。在我的程序中,它与电影和 Actor 一起保存,保存时会先创建一个文本文件,其中首先包含电影,然后包含 Actor ,每个电影和 Actor 都有单独的行。
当尝试读取直到某个点以便所有电影都进入电影数组并且所有 Actor 都进入 Actor 数组时,出现了我的问题。我尝试将 write(newline) 放在文件中的最后一部电影下,然后执行 while 循环,直到该行为空,然后结束该循环并进入 Actor 的新循环,直到文件末尾,但这并没有工作。
我真的很努力让它工作,我是java的初学者,所以任何和所有的帮助将不胜感激。
提前致谢。
[编辑]
我的问题是文件中的所有内容都进入一个数组,即电影数组。相反,我希望电影进入电影数组, Actor 进入 Actor 数组。下面是我到目前为止保存和加载文件的代码:
public void save(String fileName) throws FileNotFoundException {
try {
BufferedWriter writer = new BufferedWriter(new FileWriter(fileName));
for ( int i = 0; i < nbrMovies; i++)
{
writer.write(movies[i].getName());
writer.newLine();
}
writer.newLine();
for (int n = 0; n < nbrActors; n++)
{
writer.write(actors[n].getFullName());
writer.newLine();
}
writer.close();
} catch(IOException ex) {
ex.printStackTrace();
}
}
public void load(String fileName) throws FileNotFoundException {
try {
BufferedReader reader = new BufferedReader(new FileReader(fileName));
String line = null;
while ((line = reader.readLine()) != null) {
addMovie(line);
}
reader.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
再次感谢:) [编辑结束]
[编辑2]
下面的示例文件:)
testmovie
测试影片2
名字 名字 名字2 名字2
[编辑结束2]
最佳答案
首先创建文本文件,其中电影和 Actor 将存储在单独的行中,并附加一个字符串 喜欢
movie:troy
movie:mission impossible
actor:brad pit
actor:tom cruse
这将帮助您识别包含电影或 Actor 的台词 然后使用这段代码
FileReader fr=new FileReader("E:\\New folder\\myfile.txt");
BufferedReader br=new BufferedReader(fr);
String str=null;
while((str=br.readLine())!=null)
{
if(str.contains("movie"))
{
//store it into movie array
}else if(str.contains("actor"))
{
//store it into actor array
}
}
关于java - JAVA从文本文件读取到多个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5896481/