gpt4 book ai didi

java - 将文件从 JFileChooser 复制到新目录

转载 作者:行者123 更新时间:2023-12-01 12:30:41 25 4
gpt4 key购买 nike

好吧,我不太确定为什么这不起作用,但我尝试使用 JFileChooser 选择源文件(C、C++、Java),然后将其复制到我的项目的工作区中。当我运行它时,它会选择我选择的文件,它会将我的工作区识别为目标,但由于某种原因,只是不复制该文件。

        JButton btnSelectFile = new JButton("Select File");
btnSelectFile.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e){
JFileChooser FileChooser = new JFileChooser();
FileNameExtensionFilter filter = new FileNameExtensionFilter("C, C++ or Java Files", "c", "cpp", "java");
FileChooser.setFileFilter(filter);
int returnValue = FileChooser.showOpenDialog(null);
if (returnValue == JFileChooser.APPROVE_OPTION){
selectedFile = FileChooser.getSelectedFile();
filePath = selectedFile.getAbsolutePath();
InputStream inStream = null;
OutputStream outStream = null;
try{
File source =new File(filePath);
File dest =new File(System.getProperty("user.dir") + selectedFile.getName());
inStream = new FileInputStream(source);
outStream = new FileOutputStream(dest);

byte[] buffer = new byte[1024];

int length;
while ((length = inStream.read(buffer)) > 0){
outStream.write(buffer, 0, length);
}

if (inStream != null)inStream.close();
if (outStream != null)outStream.close();
System.out.println("File Copied..");
}catch(IOException e1){
e1.printStackTrace();
}
textArea.setText("File Loaded: " + selectedFile.getName() + "\n\n\n" + "Hit 'Run Code'");
}
else System.out.println("Failed to Load");
//UnitXMLReader.ChosenFile = filePath;

}
});

最佳答案

创建目标文件时使用以下内容

File dest =new File(System.getProperty("user.dir"), selectedFile.getName());

而不是这个

File dest =new File(System.getProperty("user.dir") + selectedFile.getName());

说明
假设 System.getProperty("user.dir") 返回 C:\Users\Me\WorkspaceselectedFile.getName() 返回 myfile.cpp
然后在您的情况下 dest 代表 C:\Users\Me\Workspacemyfile.cpp 而不是 C:\Users\Me\Workspace\myfile.cpp

如果还不清楚,请告诉我。

关于java - 将文件从 JFileChooser 复制到新目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25941694/

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