我遇到奇怪的情况我必须创建一个名为abc.dat的.dat文件,但问题是当我创建它然后在我的c:驱动器中我检查扩展名为.dat的文件不会被创建创建扩展名为_auto_file的文件,请告诉我如何更正我的代码,以便创建.dat文件扩展名...
if ( totaltsers.size()>0){
try {// Generate a file
//File file = new File(
String finalfilename= abamfilepath+ getFileName();
System.out.println(finalfilename);
File file = new File(abamfilepath+ getFileName());
FileOutputStream fileOutputStream = null;
OutputStreamWriter outputStreamWriter = null;
BufferedWriter bw = null;
Charset charset = Charset.forName("UTF-8");
CharsetEncoder charsetEncoder = charset.newEncoder();
charsetEncoder.onMalformedInput(CodingErrorAction.IGNORE);
fileOutputStream = new FileOutputStream(file.getPath());
outputStreamWriter = new OutputStreamWriter(fileOutputStream, charsetEncoder);
bw = new BufferedWriter(outputStreamWriter);
if (file.exists()){
file.delete();
}
for (tser tser : totaltsers) {
for (toabj bk : books) {
//if (tser.toabjdfr() == null)
if((tser.toabjdfr() == null) &&(tser.ghjk() == null )){
bw.write("aaa");
}
else if (tser.toabjdfr() == null && tser.ghjk() != null ){
bw.write("bb");
}
else if ( tser.toabjdfr() != null && tser.ghjk() == null){
bw.write("ccc");
}
else
bw.write("ddd");
bw.newLine();
}
}
bw.flush();
bw.close();
fileOutputStream.close();
outputStreamWriter.close();
}
catch (Exception e){
String message = "Ate exception : " + e.getMessage();
System.err.println(message);
logger.error(message);
}
}
下面的是构造文件名
public String getFileName() {
return buildFileName();
}
private String buildFileName() {
String filename = "abc";
filename = filename+".dat";
return filename;
我按照建议完成了更改,但仍然无法正常工作..但仍然无法正常工作请提示
String finalfilename= abamfilepath+ getFileName();
System.out.println(finalfilename);
File file = new File(abamfilepath + getFileName());
FileOutputStream fileOutputStream = new FileOutputStream(file.getPath());
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(fileOutputStream);
BufferedWriter bw = new BufferedWriter(outputStreamWriter);
if (file.exists()) {
file.delete();
}
file.createNewFile();
}
问题仍然是相同的dat文件没有被创建而是创建了大小为0的
答案 0 :(得分:0)
这应该有效
File outFile = new File("numbers.dat");
BufferedWriter writer = new BufferedWriter(new FileWriter(outFile));
writer.write("12");
writer.close();
如果您仍然无法创建该文件,可能与Windows root驱动器上的权限有关。您的操作系统是否安装在C盘上?如果是,请尝试更改创建文件的位置。