gpt4 book ai didi

java - dat 文件不是由缓冲写入器创建的

转载 作者:行者123 更新时间:2023-11-29 03:31:17 26 4
gpt4 key购买 nike

我陷入了一个奇怪的境地,我必须创建一个名为 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();




}

最佳答案

首先,使用文件本身创建 FileInputStream,如下所示:

    fileOutputStream = new FileOutputStream(file);

然后,在这一行之后:

    if (file.exists()){
file.delete();
}

包含代码

    file.createNewFile();

这应该可以解决您的问题。

关于java - dat 文件不是由缓冲写入器创建的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18150029/

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