在java中的文本文件中编写

时间:2014-04-18 12:59:36

标签: java java-ee file-io io

我写了一段非常简单的代码,它从昨天开始工作得很好但现在没有工作,即使经过大量的研究/调试,我也没有问题

 import java.net.InetAddress;
 import java.util.Date;
 import java.io.File;
 import java.io.FileWriter;
 import java.io.BufferedWriter;

  public class DetectLoggedInUser{

  public static void returnUserName()
  {
   String computerName;
   try {


     File file =new File("d:\\TestFolder\\UsersloggedIn.txt");

        if(!file.exists()){
            file.createNewFile();
        }


            FileWriter fileWritter = new FileWriter(file.getName(),true);
                BufferedWriter bufferWritter = new BufferedWriter(fileWritter);
            String content= "\n UserName="+System.getProperty("user.name")+ " || Date and Time= "+new Date();
            bufferWritter.write(content);
            bufferWritter.close();

}

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

public static void main(String args[])
{
returnUserName();
}
}

现在已创建文件,但文件

中没有写入任何内容

此代码是否有任何问题(请记住它自昨天开始工作)?

3 个答案:

答案 0 :(得分:1)

试试这个:

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.util.Date;

public class DetectLoggedInUser {

    public static void returnUserName() {
        try {
            File file = new File("d:\\TestFolder\\UsersloggedIn.txt");

            if (!file.exists()) {
                file.createNewFile();
            }

            FileWriter fileWritter = new FileWriter(file, true);
            BufferedWriter bufferWritter = new BufferedWriter(fileWritter);
            String content = "\n UserName=" + System.getProperty("user.name")
                    + " || Date and Time= " + new Date();
            bufferWritter.write(content);
            bufferWritter.close();

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

    public static void main(String args[]) {
        returnUserName();
    }
}

答案 1 :(得分:1)

您可以使用

FileWriter fileWritter = new FileWriter(file.getAbsolutePath(), true);

而不是code.File.getName()方法中的file.getName(),而只返回文件或目录的名称,而不是绝对路径;

答案 2 :(得分:0)

您无需检查文件是否存在,除此之外它对我来说还可以。