Java 读取文件并将字符串存储到数组中
我试图从文件(MoviesList)中获取一些数据,并将它们存储在变量中,然后打印它们 该文件包含以下不同段落:Java 读取文件并将字符串存储到数组中,java,arrays,java.util.scanner,Java,Arrays,Java.util.scanner,我试图从文件(MoviesList)中获取一些数据,并将它们存储在变量中,然后打印它们 该文件包含以下不同段落: Fast & Furious7 (2015) Type: Movie Director : James Wan With : Vin Diesel, Paul Walker, Dwayne Johnson Action | Crime | Thriller 137 mins. 这是代码的一个片段 import java.io.BufferedReader; import
Fast & Furious7 (2015)
Type: Movie
Director : James Wan
With : Vin Diesel, Paul Walker, Dwayne Johnson
Action | Crime | Thriller 137 mins.
这是代码的一个片段
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.*;
public class FlotTest {
private static BufferedReader fR;
public void lireLignes(File f) throws IOException{
fR= new BufferedReader(new FileReader(f));
String chaine ="";
do {
chaine = fR.readLine();
if (chaine!= null) {
String [] tab=chaine.split(",");
String MovieName=tab[1];
System.out.println(MovieName);
}
}while (chaine != null);
fR.close();
}
}
这是测试课
package testFlot;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.*;
public class test1 {
public static void main(String[] args) throws IOException{
FlotTest t= new FlotTest();
File f = new File("MoviesList.txt");
t.lireLignes(f);
}
我猜你被困在向数组添加
MovieName
中了?如果是的话
声明一个
ArrayList
变量(在类级别,假设您希望在方法之外访问它),以及您当前调用System.out.println
的位置,只需将它们添加到ArrayList
变量中即可。如果您已读取该行并将其存储到String chaine中,则可以执行以下操作:
//String chaine="Fast & Furious7 (2015) Type: Movie Director : James Wan With : Vin Diesel, Paul Walker, Dwayne Johnson Action | Crime | Thriller 137 mins";
String title = chaine.substring(0, chaine.indexOf("(")-1);
System.out.println(title);
String year = chaine.substring(chaine.indexOf("(")+1, chaine.indexOf(")"));
System.out.println(year);
String type = chaine.substring(chaine.indexOf(":")+2, chaine.indexOf("Director"));
System.out.println(type);
String directors = chaine.substring(chaine.indexOf("Director")+11, chaine.indexOf("With"));
System.out.println(directors);
//you'll have to figure out a way to parse the actors in depending on how your file is set up
//it's interesting you don't have a seperator between Actors and the Genre
//you could create an array
String[] movie = new String[7];
movie[0]= title;
movie[1]=year;
movie[2]=type;
movie[3]=directors;
//I find arraylists easier to deal with so you could create an arraylist
ArrayList<String> movieList = new ArrayList<String>();
movieList.add(title);
movieList.add(year);
movieList.add(type);
movieList.add(type);
movieList.add(directors);
//String chaine=“快速与愤怒7(2015)类型:电影导演:詹姆斯·万与:文·迪塞尔、保罗·沃克、德韦恩·约翰逊动作片|犯罪|惊悚片137分钟”;
字符串title=chaine.substring(0,chaine.indexOf(“”-1);
系统输出打印项次(标题);
字符串年份=chaine.substring(chaine.indexOf(“”+1,chaine.indexOf(“”));
系统输出打印项次(年);
字符串类型=chaine.substring(chaine.indexOf(“:”)+2,chaine.indexOf(“Director”);
系统输出打印项次(类型);
String directors=chaine.substring(chaine.indexOf(“Director”)+11,chaine.indexOf(“With”);
系统输出打印(董事);
//您必须找出一种方法来解析中的参与者,具体取决于文件的设置方式
//有趣的是,演员和体裁之间没有分隔符
//您可以创建一个数组
字符串[]电影=新字符串[7];
电影[0]=片名;
电影[1]=年;
电影[2]=类型;
电影[3]=导演;
//我发现arraylist更容易处理,因此您可以创建arraylist
ArrayList movieList=新的ArrayList();
电影列表。添加(标题);
电影列表。添加(年);
添加(类型);
添加(类型);
增加(导演);
我停下来是因为我有一些工作要完成,但你可以很容易地为演员、体裁和时间长度添加类似的行,然后将它们添加到数组或数组列表。这将有助于添加一些关于你试图完成的内容的信息(例如,预期输出).有什么问题吗?有什么例外吗?我正在尝试创建一个电影列表(我创建了一个类电影),每部电影都包含标题、导演、演员和soThank you,我将尝试以下内容:D