迭代器写入File.txt Java

迭代器写入File.txt Java,java,Java,这是我的问题:我需要将Interator写入文件“random.txt”,这样我才能看到所有的数据。数据存储在假设的位置,我可以通过System.out.print看到它,但我的文件是空白的。我可以创建文件,但不能写入 我正在读公司的文件。存储在树映射中并尝试写入文本文件。(我可以用数组做这件事,没有问题)但是这个带迭代器的贴图让我头晕目眩 如果有人能帮我一点忙,我将不胜感激 我需要使用树映射和迭代器 public static void main(String[] args) throws F

这是我的问题:我需要将Interator写入文件“random.txt”,这样我才能看到所有的数据。数据存储在假设的位置,我可以通过System.out.print看到它,但我的文件是空白的。我可以创建文件,但不能写入

我正在读公司的文件。存储在树映射中并尝试写入文本文件。(我可以用数组做这件事,没有问题)但是这个带迭代器的贴图让我头晕目眩

如果有人能帮我一点忙,我将不胜感激

我需要使用树映射和迭代器

public static void main(String[] args) throws FileNotFoundException, IOException {
    Map<String, String> Store = new TreeMap<>();

    Scanner text=new Scanner(System.in);

    System.out.println("enter file:  ");


    //C:\Users\Alex\Desktop\Fruits\fruits.txt           

    String rap=text.next();

    File into = new File(rap);

    try (Scanner in = new Scanner(into)) {                

        while (in.hasNext()){
            String name=in.next();
            String fruta = in.next();
            Integer num= Integer.parseInt(in.next());
            System.out.println(fruta+"\t"+name+"\t"+num);

            if (Store.containsKey(fruta)){
                Store.put(name,Store.get(name)+fruta );
            }
            else{
                Store.put(name,fruta);
            }
        }

        in.close();

    }                                                                

    System.out.println();

    // insert data to store MAP 
    Set top=Store.entrySet();
    Iterator it = top.iterator();  

    // debugging 

    System.out.println(top);

    // Creating file???????
    FileWriter fstream = new FileWriter("random.txt");  

    //identify File to be write?????? 
    BufferedWriter out = new BufferedWriter(fstream);

    //iterator Loop       
    while(it.hasNext()) {

        Map.Entry m = (Map.Entry)it.next();
        String key = (String)m.getKey();
        String value = (String)m.getValue();

        //writing to file?????
        out.write("\t "+key+"\t "+value);

        // debugging 
        System.out.println(key +"\t"+ value);
    }       

    System.out.println("File created successfully.");
}
publicstaticvoidmain(字符串[]args)抛出FileNotFoundException、IOException{
映射存储=新树映射();
扫描仪文本=新扫描仪(System.in);
System.out.println(“输入文件:”);
//C:\Users\Alex\Desktop\Fruits\Fruits.txt
String rap=text.next();
文件导入=新文件(rap);
尝试(扫描器输入=新扫描器(输入)){
while(在.hasNext()中){
字符串名称=in.next();
字符串fruta=in.next();
Integer num=Integer.parseInt(in.next());
System.out.println(fruta+“\t”+name+“\t”+num);
if(存储容器(fruta)){
Store.put(name,Store.get(name)+fruta);
}
否则{
Store.put(名称、fruta);
}
}
in.close();
}                                                                
System.out.println();
//插入数据以存储地图
Set top=Store.entrySet();
迭代器it=top.Iterator();
//调试
系统输出打印项次(顶部);
//正在创建文件???????
FileWriter fstream=新的FileWriter(“random.txt”);
//确定要写入的文件??????
BufferedWriter out=新的BufferedWriter(fstream);
//迭代器循环
while(it.hasNext()){
Map.Entry m=(Map.Entry)it.next();
String key=(String)m.getKey();
字符串值=(字符串)m.getValue();
//正在写入文件?????
out.写入(“\t”+键+“\t”+值);
//调试
System.out.println(键+“\t”+值);
}       
System.out.println(“文件创建成功”);
}

循环(写入文件的循环)完成后,执行以下操作:

out.flush();
out.close();

简短说明:
BufferedWriter
在内存中缓冲您编写的内容。调用
write
方法时,它不会立即写入文件。一旦while循环完成并且要写入文件的数据准备在缓冲存储器中,您应该调用
flush
来实际写入硬盘。最后,您应该始终
关闭将不再使用的BufferedWriter,以避免内存泄漏。

循环(写入文件的循环)完成后,执行以下操作:

out.flush();
out.close();

简短说明:
BufferedWriter
在内存中缓冲您编写的内容。调用
write
方法时,它不会立即写入文件。一旦while循环完成并且要写入文件的数据准备在缓冲存储器中,您应该调用
flush
来实际写入硬盘。最后,您应该始终关闭不再使用的BufferedWriter,以避免内存泄漏。

非常感谢。这是72个小时的头部辅助2行代码。哈哈哈。。。难道你不希望你的IDE警告你“嘿,伙计,你不是在冲水和关门!”?很高兴我能帮忙:)太好了,非常感谢。这是72个小时的头部辅助2行代码。哈哈哈。。。难道你不希望你的IDE警告你“嘿,伙计,你不是在冲水和关门!”?很高兴我能帮忙:)