gpt4 book ai didi

Java Bufferedwriter 到可公开访问的位置

转载 作者:行者123 更新时间:2023-12-01 10:36:35 26 4
gpt4 key购买 nike

我正在尝试更改我不久前编写的程序。目前该程序处理一些内置逻辑的 BufferedReader 和 BufferedWriter。让我解释一下它过去是如何工作的。

用于上传文件的类:

public void getFile(){//Used to upload the ACH file. 

while(uploadApproval==false){//While upload approval has not been given..

JFileChooser chooser = new JFileChooser();//Creates a new object of the JFileChooser class.

uploadFile = chooser;//Saves the upload file variable as the chooser response.

FileNameExtensionFilter filter = new FileNameExtensionFilter("ACH Files", "ach");
//Sets the allowed file formats for upload.

chooser.setFileFilter(filter);//Activates the created file filter.

chooser.setDialogTitle("Please choose ACH file to upload");//Sets the title bar text.

//Completes once the user clicks ok.
int returnVal = chooser.showOpenDialog(chooser);//
if(returnVal == JFileChooser.APPROVE_OPTION){
uploadApproval=true;
}else{
System.exit(0);
}

}
}

用于设置目录的类

public void setDirectory(){//Used to set the directory. 

while(saveApproval==false){//While the user does not have approval of the save location..

JFileChooser chooser2 = new JFileChooser();//Creates a new JFileChooser object.

saveFile = chooser2;//Sets the save file location to chooser2.

chooser2.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);//User is only able to scan for
//directories.

//Completes once the user clicks okay.
int returnValue2 = chooser2.showDialog(chooser2, "Directory to save");
if(returnValue2 == JFileChooser.APPROVE_OPTION){
saveApproval=true;
}else{
System.exit(0);
}

}

}

然后我开始实际的缓冲读取器/写入器过程,其中涉及很多逻辑:

location = "//NachaOutput"+randomNumber+".ACH";

try{

String sCurrentLine;//String representing the current line.

//Pulls the uploaded file.
br = new BufferedReader(new FileReader(NachaMain.uploadFile.getSelectedFile()));




bw = new BufferedWriter(new FileWriter(NachaMain.saveFile.getSelectedFile()+location));

现在这是我需要做的。我被要求删除用户从一开始就选择目录的屏幕。相反,用户将在过程结束时选择保存目录。

这意味着“SetDirectory”方法根本不会被调用,因此这行代码:

bw = new BufferedWriter(new FileWriter(NachaMain.saveFile.getSelectedFile()+location));

显然是行不通的。我需要找到某种方法来将该文件写入器位置替换为一个通用位置,该位置对于所有用户来说都是相同的,无论他们的设置如何。类似于文档的东西。

我尝试这样做:

bw = new BufferedWriter(new FileWriter("Libraries\\Documents"+location));

但是遇到了关于无效路径的异常。

所以请帮助我,让我知道一个可以自动保存文件的好路径。该保存的文件基本上是一个“虚拟”文件。稍后在程序结束时,我会将该虚拟文件复制到用户指定的位置,然后将其删除,因此该位置实际上并不重要。

提前致谢!

最佳答案

您可以使用 File.createTempFile() 创建临时文件。如果您调用deleteOnExit(),可能会更容易清理。用于创建的临时文件。

关于Java Bufferedwriter 到可公开访问的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34684571/

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