Java 限制要打开的最大文件大小
我打开图像Java 限制要打开的最大文件大小,java,javafx,Java,Javafx,我打开图像 FileChooser fileChooser = new FileChooser(); fileChooser.setTitle("Open Image File"); fileChooser.getExtensionFilters().add(new ExtensionFilter("Image Files", "*.png", "*.jpg", "*.gif", "*.bmp", "*.jpeg")); selectedFile = fileChooser.showOpenDi
FileChooser fileChooser = new FileChooser();
fileChooser.setTitle("Open Image File");
fileChooser.getExtensionFilters().add(new ExtensionFilter("Image Files", "*.png", "*.jpg", "*.gif", "*.bmp", "*.jpeg"));
selectedFile = fileChooser.showOpenDialog(null);
如何限制打开不超过1 mb的图像?快速解决方案根据您的方法: 创建文件筛选器,然后将其与
文件选择器一起使用:
FileFilter myFilter = new FileFilter() {
@Override
public boolean accept(File file) {
javax.swing.filechooser.FileFilter ef =
new FileNameExtensionFilter("Image Files", "*.png", "*.jpg", "*.gif", "*.bmp", "*.jpeg");
return ef.accept(file) && (file.length() <= (1024L * 1024L));
}
};
fileChooser.setFileFilter(myFilter);
FileFilter myFilter=newfilefilter(){
@凌驾
公共布尔接受(文件){
javax.swing.filechooser.FileFilter ef=
新文件名扩展过滤器(“图像文件”、“*.png”、“*.jpg”、“*.gif”、“*.bmp”、“*.jpeg”);
return ef.accept(file)&&(file.length()我不熟悉类文件,但是似乎建议getTotalSpace方法返回文件大小(以字节为单位)
如果这是正确的,那么您可以将大小(mb)与1024进行比较,如果超过此值,则拒绝该值
粗略的例子
boolean valid = false;
final long sizeLimit = 1024 * 8;
while(!valid){
selectedFile = fileChooser.showOpenDialog(null);
if(sizeLimit > selecteFile.getTotalSpace()){
valid = true;
}
}
选择的文件类型是什么?@A1ex NS这是JavaFx还是Swing?或者你可以同时使用两者吗?不完全正确。请仔细阅读:“返回由此抽象路径名命名的分区的大小。如果此抽象路径名未命名分区,则返回[…]0L。”标签为JavaFx
。您的解决方案之一似乎是Swing
?
boolean valid = false;
final long sizeLimit = 1024 * 8;
while(!valid){
selectedFile = fileChooser.showOpenDialog(null);
if(sizeLimit > selecteFile.getTotalSpace()){
valid = true;
}
}