Javaを使用してフォルダ内のすべての画像を読みたい。
いつ: Javaアプリケーションのボタンを押すと、次のようになります
。
- ポップアップでディレクトリのパスを尋ね、
- 次に、このディレクトリからすべての画像をロードします。
- 次に、名前、寸法タイプ、サイズを表示します。
どうやって進める?
画像とフォルダ内のすべての画像を読み取るためのコードがありますが、上記のことをどのように行うことができますか?
どんな提案や助けも大歓迎です!参照リンクを提供してください!
JDKがインストールされているマシンではないため、テストされていません。これはすべて「現状のまま」で入力されますが、開始する必要があります(反対票が殺到することを期待してください...)
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FilenameFilter;
import java.io.IOException;
import javax.imageio.ImageIO;
public class Test {
// File representing the folder that you select using a FileChooser
static final File dir = new File("PATH_TO_YOUR_DIRECTORY");
// array of supported extensions (use a List if you prefer)
static final String[] EXTENSIONS = new String[]{
"gif", "png", "bmp" // and other formats you need
};
// filter to identify images based on their extensions
static final FilenameFilter IMAGE_FILTER = new FilenameFilter() {
@Override
public boolean accept(final File dir, final String name) {
for (final String ext : EXTENSIONS) {
if (name.endsWith("." + ext)) {
return (true);
}
}
return (false);
}
};
public static void main(String[] args) {
if (dir.isDirectory()) { // make sure it's a directory
for (final File f : dir.listFiles(IMAGE_FILTER)) {
BufferedImage img = null;
try {
img = ImageIO.read(f);
// you probably want something more involved here
// to display in your UI
System.out.println("image: " + f.getName());
System.out.println(" width : " + img.getWidth());
System.out.println(" height: " + img.getHeight());
System.out.println(" size : " + f.length());
} catch (final IOException e) {
// handle errors here
}
}
}
}
}
これは比較的簡単に実行でき、標準のJDKパッケージクラスのみを使用します。
Javaチュートリアルのこれらのセッションは、次の場合にも役立ちます。
FilenameUtils
を使用してファイルの拡張子を抽出しますFileChooser
てフォルダを選択します。上記のすべてを組み合わせることで、非常に簡単に実行できます。
javaxt.io.Directoryディレクトリ=newjavaxt.io.Directory( "C:\ Users \ Public \ Pictures \ Sample Pictures"); directory.getFiles(); javaxt.io.File[]ファイル;
java.io.FileFilter filter = file -> !file.isHidden() && (file.isDirectory() || (file.getName().endsWith(".jpg")));
files = directory.getFiles(filter, true);
System.out.println(Arrays.toString(files));
step 1=first of all make a folder out of webapps
step2= write code to uploading a image in ur folder
step3=write a code to display a image in ur respective jsp,html,jframe what u want
this is folder=(images)
reading image for folder'
Image image = null;
try {
File sourceimage = new File("D:\\images\\slide4.jpg");
image = ImageIO.read(sourceimage);
} catch (IOException e) {
e.printStackTrace();
}
}