当前位置: 首页 > 知识库问答 >
问题:

从另一个读取文本文件的方法填充JList

牛嘉谊
2023-03-14

我正在尝试用名字填充JList,这些名字最终将添加到AddressBook GUI中。我想我的逻辑是,创建JList,通过一个从文本文件中读取名称的方法填充它,然后将JList添加到我的面板中。

我的文本文件如下所示:

	private void readContacts()
	{
		File cFile = new File ("Contacts.txt");
		BufferedReader buffer = null;
		ArrayList <String> contact = new ArrayList<String>();
		try
		{
			buffer = new BufferedReader (new FileReader (cFile));
			String text;
			
			while ((buffer.readLine()) != null)
			{
				String sep = buffer.readLine ( );
				String [] name = sep.split (",");
				text = name[1];
				contact.add(text);
				System.out.println (text);
				
			}
			
			
		}
		catch (FileNotFoundException e)
		{
			
		}
		catch (IOException k)
		{
			
		}
	}
js prettyprint-override">model = new DefaultListModel();
for (int i = 1; i < readContacts().size(); i++)
{
  model.addElement(i);
}
       
nameList = new JList (model);
add(nameList);

但它只是打印出1-10个,而不是名字。我假设这是因为我使用了size()而不是其他东西,有什么建议吗?

共有1个答案

吴浩皛
2023-03-14
while ((buffer.readLine()) != null) { // read a line once  and check it's not null
    String sep = buffer.readLine(); // read the following line

每次迭代都要读取两行。只要读一个:

String sep;
while ((sep = buffer.readLine()) != null) {
 类似资料:
  • 代码: 我正在尝试从通过Read_file按钮读取的文本文件填充jlist 我能够正确获取文件路径和文件内容,我用print语句验证了这些文件,但我的jlist仍然是空的。在设计中,我检查了jlist的变量名,两者都与我在代码中使用的匹配。

  • 如何将一个文本的值追加到另一个文本文件中的特定位置? One.txt Second.txt 需要将second.txt中的one.txt值放置在{}中提到的名称所在的位置。 输出:

  • 问题内容: 如何从文本文件填充? 问题答案: 非常模糊的问题。您是说要每行输入一个吗?如果是这样,则要使用BufferedReader之类的东西,请读取所有行,并将它们保存为String数组。创建一个新的JComboBox传入该String构造函数。

  • 本文向大家介绍写一个读取文件和文件的方法相关面试题,主要包含被问及写一个读取文件和文件的方法时的应答技巧和注意事项,需要的朋友参考一下 var fs = require('fs'); var data = fs.readFileSync('./index.html', 'utf8'); // 停止执行代码直到操作结束 console.log(data) fs.readFile('./test.tx

  • 我正在尝试转换一个大的文本文件(大小为5 gig),但得到了一个从这篇文章中,我设法将文本文件的编码格式转换为可读的格式: 这里的问题是,当我试图转换一个大尺寸(5 GB)的文本文件时。我会得到这个错误 我知道它无法读取这么大的文件。我从几个链接中发现,我可以逐行阅读。 那么,我如何应用于我必须让它逐行读取的代码呢?我对逐行读取的理解是,我需要从中读取一行,并将其添加到中,直到行尾,对吗?