[英]jfilechooser, save multiples file ,image?
我想让 jfilechooser 选择多种类型,但我的文件输入流中出现错误,如下所示:
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
try {
JFileChooser ch = new JFileChooser(FileSystemView.getFileSystemView().getHomeDirectory());
int c = ch.showOpenDialog(this);
ch.setMultiSelectionEnabled(true);
ch.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
ch.setMultiSelectionEnabled(true);
if (c == JFileChooser.APPROVE_OPTION) {
File[] f = ch.getSelectedFiles();
FileInputStream in = new FileInputStream();
/// the error start from in here
byte b[] = new byte[in.available()];
in.read(b);
Data data = new Data();
lblNewLabel.setText(ch.getSelectedFile().getAbsolutePath());
data.setName(lblNewLabel.getText().trim());
data.setFile(b);
out.writeObject(data);
out.flush();
textArea.append("send 1 file ../n");
}
} catch (Exception e) {
JOptionPane.showMessageDialog(this, e, "Error",
JOptionPane.ERROR_MESSAGE);
}
}`
每个人都可以修复它吗?
看起来您正在使用.getSelectedFile()
方法,尽管您选择了多个文件。
您必须像代码示例的第 9 行一样使用.getSelectedFiles()
方法并遍历File[]
。
FileInputStream in = new FileInputStream();
/// the error start from in here
byte b[] = new byte[in.available()];
in.read(b);
= new FileInputStream()中FileInputStream的实例化是错误的。 正如nvplus所说,您必须选择一个文件并将其实例化如下
File f = ch.getSelectedFile();
FileInputStream in = FileInputStream(f); // <---
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.