gpt4 book ai didi

java - BufferedWriter 不写入文件

转载 作者:行者123 更新时间:2023-12-01 22:22:43 25 4
gpt4 key购买 nike

我必须从用户那里获取用户的姓名和地址并将其放入文本文件中。我写了以下代码:

package selfTest.nameAndAddress;

import com.intellij.codeInsight.template.postfix.templates.SoutPostfixTemplate;

import java.io.*;
import java.util.Arrays;

/**
* Created by
*/
public class Test {
public static void main(String[] args) throws IOException {
InputStreamReader isr=new InputStreamReader(System.in);
BufferedReader br=new BufferedReader(isr);


//creating addressbook text file
File fl=new File("E:/addressbook.txt");
fl.createNewFile();

FileReader fr=new FileReader(fl);
BufferedReader in=new BufferedReader(fr);



boolean eof=false;
int inChar=0;

String[] name=new String[2];
String[] address=new String[2];

int counter=0;


do{
FileWriter fw=new FileWriter(fl);
BufferedWriter out=new BufferedWriter(fw);

System.out.println("Enter "+(counter+1)+" students name "+" and address");

name[counter]=br.readLine();
address[counter]=br.readLine();

out.write(name[counter]);
System.out.println("Nmae: "+name[counter]+" ddress: "+address[counter]);
counter++;
}while(counter<2);
}
}

当我运行代码时,它需要用户输入,但文本文件是空的。地址和名称未写入文本文件。如何在上面的代码中将名称和地址存储到文本文件中。

最佳答案

您创建了 BufferedWriter,但从未创建 flushclose

这些操作才是真正写入文件的内容


正如@ManoDestra 在评论中指出的那样,Java 支持 try-with-resources statement ,它允许您将语句格式化为:

try(BufferedWriter out = new BufferedWriter(new FileWriter(fl))) {

由于 BufferedWriter 实现了 AutoCloseable接口(interface),Java 将在 try block 退出时自动清理 out

关于java - BufferedWriter 不写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38960866/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com