Java 如何从文件中的数据创建队列

Java 如何从文件中的数据创建队列,java,file,queue,Java,File,Queue,这是我到目前为止所拥有的。我面临的问题是如何在文件中找到元素的数量,以便初始化队列。非常感谢你的建议 class FileHandler { BufferedReader data; DataInputStream in; public FileHandler(String fileName) { try { data = new BufferedReader(new FileReader(fileName)); } catch (IOException

这是我到目前为止所拥有的。我面临的问题是如何在文件中找到元素的数量,以便初始化队列。非常感谢你的建议

class FileHandler {
BufferedReader data;
DataInputStream in;

    public FileHandler(String fileName) {
    try {
        data = new BufferedReader(new FileReader(fileName));
    } catch (IOException e) {
        e.printStackTrace();
    }
}

public FiFo fileToLines() {

///////////////////here is where i need ur help  whats teh string size////////////////////

    private FiFo lines=new FiFo(data.)
        String line = "";
    try {
        while ((line = data.readLine()) != null) {
            lines.add(line);
        }
    } catch (IOException e) {
        e.printStackTrace();
    }*/
    return lines;
}

public void closeFile() {
    try {
        data.close();

    }

    catch (Exception e) {
        e.printStackTrace();
    }
}

public class FiFo {

     private int index;
     private String[] queue;

     public FiFo(int size)
{
          queue=new String[size];
         index=0;

}

public void add(String element)
{
    queue[index]=element;
    index++;
}
public void remove()
{
    int temp=0;
    while(temp!=index)
    {
        queue[temp]=queue[temp+1];
        temp++;
    }
    index--;
}

public String get()
{
    return queue[0];
}

public int size()
{
    return index;
}

public void printQueue()
{
    for (int i=0;i<=index;i++)
        System.out.println(queue[i]);
}

为什么要实现Fifo类?是作业吗

你为什么不使用:

使用这个,您不必知道文件中的行数


如果你真的想知道一个文件中的行数,那么当你打开一个文件时,你无法了解文件中有多少行。您可以做的一件事是将所有行添加到列表中,您的FiFo可以将该列表作为其构造函数参数,并将其用作其备份数据。

您的格式设置非常混乱。您是否可以尝试编辑您的问题,再次粘贴您的代码,然后选择它并按下代码示例按钮,该按钮显示101010?看起来你按下了blockquote按钮,但没有达到你的目的。很抱歉,我是新手…我已经尝试过重新包装它…我知道它是否还需要工作我并不想成为语法纳粹,但如果你花时间拼写整个单词而不是b,人们会更欣赏你的问题,让我来代替莱姆等。。如果你表现出你在这个问题上付出了一些努力,人们会更倾向于在答案上付出一些努力。谢谢你可以建议最好将字符串数组设置为私有或公开,因为在这种情况下,我还需要比较两个问题,并找到共同的元素,您可以实现一个不需要知道初始大小的队列。将队列的大小初始化为100,然后每次添加项目时,检查该大小是否足够大。如果没有,请为数组添加更多大小。创建一个新的存储阵列,并使用java.util.Arrays.copy将旧存储阵列复制到新存储阵列中
public Queue fileToLines() {

    LinkedList<String> lines = new LinkedList<String>();


    String line = "";
    try {
        while ((line = data.readLine()) != null) {
            lines.add(line);
        }
    } catch (IOException e) {
        e.printStackTrace();
    }*/
    return lines;
}