大家好,我试图传入一个字符串参数将该字符串写入文本文件。 但是,我似乎遇到了麻烦。当我在main方法中编译它时它工作正常,它创建一个文件和我写入它的所有值。 但是,当我使用一种方法。它根本没有创建文件,甚至没有传入我传入的参数。我打算在servlet中使用该方法。
以下是我创建的方法。
public class testWriteFile {
public static void writeToFile (String data) throws Exception {
Date dateNow = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
StringBuilder formatDDMMYYYY = new StringBuilder(sdf.format(dateNow));
File file = new File(formatDDMMYYYY+".txt");
if(!file.exists()) {
file.createNewFile();
}
FileWriter fileWritter = new FileWriter(file.getName(),true);
BufferedWriter bufferWritter = new BufferedWriter(fileWritter);
bufferWritter.write(data);
bufferWritter.close();
System.out.println("Done");
}
}
我可以知道代码有什么问题吗? 提前谢谢!
答案 0 :(得分:0)
最后,看来这个问题在OP打印时解决了
System.out.println(file.getCanonicalPath());
由于OP使用IDE,因此它位于不同的目录中。
答案 1 :(得分:0)
使用完整路径(“d:/myfolder/a.txt”) - 仍可保持部分动态,如果是windows
File f = new File("D:/myfolder/" + formatDDMMYYYY + ".txt");
或者linux / mac
File f = new File("/myfolder/" + formatDDMMYYYY + ".txt");
确保你对myfolder有写入权限,并在linux / unix上使用touch命令将其替换为你所拥有的权限:
touch /myfolder/a.txt
ls -l /myfolder/a.txt
应显示该文件的当前日期