任何人都可以向我解释如何将文本文件的内容加载到jList中? 我已设法在控制台上打印文件的内容。 我已经完成了一个Read()函数,它逐行读取文件的内容,还有一个Load()函数,它应该通过调用函数Read()来显示jList中的内容。
加载代码:
public void Load()
{
Read();
File archive = null;
FileReader fr = null;
BufferedReader br = null;
try {
archive = new File ("Cars.txt");
fr = new FileReader (archive);
br = new BufferedReader(fr);
Vector<String> lines = new Vector<String>();
String line;
while((line=br.readLine())!=null) {
System.out.println(line);
lines.add(line);
}
} catch(Exception e) {
e.printStackTrace();
} finally {
try{
if( null != fr ) {
fr.close();
}
} catch (Exception e2) {
e2.printStackTrace();
}
}
}
读取代码:
public void Read()
{
String name , type , distance, time;
File file=new File("Cars.txt");
FileInputStream fis=null;
BufferedInputStream bis=null;
DataInputStream dis=null;
try {
fis = new FileInputStream(file);
bis = new BufferedInputStream(fis);
dis = new DataInputStream(bis);
while (dis.available() != 0)
{
String x=dis.readLine();
int k1=x.length();
char []m=x.toCharArray();
int y1=0, y2=0, z=1;
for(int i=1;i<k1;i++)
if(m[i]==' ' && z==1)
{
y1=i;
z++;
}
else if(z==2 && m[i]==' ') {y2=i; z++; }
k1-=y2;
name=x.copyValueOf(x.toCharArray(), 0, y1);
type=x.copyValueOf(x.toCharArray(), 0, y2);
distance=x.copyValueOf(x.toCharArray(), y1+1, y2-y1-1);
time=x.copyValueOf(x.toCharArray(), y2+1, k1-1);
int d=Nr(distance);
int t=Nr(time);
// System.out.println(name + " " +q + " " + n);
list.Add(name, type , d, t);
}
fis.close();
bis.close();
dis.close();
}
catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
答案 0 :(得分:4)
创建如下列表:
DefaultListModel model = new DefaultListModel();
JList list = new JList( model );
然后,当您阅读可以使用的每一行数据时:
model.addElement(...);