提示コードのFileControl.java
の GetFilePath_Directory
関数の File file[] = new File[path.listFiles().length];
で以下のエラーが発生するのですがこれはなぜでしょうか?原因がわかりません。ファイルパスは読み込まれています。
Exception in thread "main" java.lang.NullPointerException at FileManager.GetFilePath_Directory(FileManager.java:23) at Main.main(Main.java:29)
Main.java
java
1import java.io.IOException; 2import java.io.File; 3 4import javax.imageio.ImageIO; 5 6import java.awt.image.BufferedImage; 7 8import java.util.concurrent.Callable; 9import java.util.Scanner; 10 11import java.util.ArrayList; 12import java.util.Collection; 13import java.util.List; 14 15 16import org.apache.pdfbox.pdmodel.PDDocument; 17import org.apache.pdfbox.pdmodel.PDPage; 18import org.apache.pdfbox.pdmodel.PDPageContentStream; 19import org.apache.pdfbox.pdmodel.common.PDRectangle; 20import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject; 21 22public class Main 23{ 24 public static void main(String args[]) 25 { 26 Scanner scanner = new Scanner(System.in); 27 String fileName = scanner.nextLine(); 28 29 List<Image> image = FileManager.GetFilePath_Directory(new File(fileName)); 30 Generater gen = new Generater(); 31 gen.setFile(image); 32 33 gen.run(); 34 35 36 scanner.close(); 37 } 38}
FileControl.java
java
1import java.io.File; 2import java.io.File; 3import java.util.ArrayList; 4import java.util.Arrays; 5import java.util.Collection; 6 7import java.util.List; 8 9public class FileManager 10{ 11 //ファイルタイプ 12 public enum type 13 { 14 Directory, //ディレクトリ 15 File, //単一の画像ファイル 16 Invalid //対応していないファイル 17 } 18 19 static List<Image> GetFilePath_Directory(File path) 20 { 21 System.out.println(path.toPath()); 22 23 File file[] = new File[path.listFiles().length]; 24 file = path.listFiles(); 25 List<String> fileList = new ArrayList<String>(); 26 27 28 for(int i = 0; i < file.length; i++) 29 { 30 fileList.add(file[i].toString()); 31 } 32 33 Arrays.sort(fileList.toArray()); 34 35 List<Image> image = new ArrayList<Image>(); 36 37 38 for(int i = 0; i < fileList.size(); i++) 39 { 40 System.out.println(fileList.get(i)); 41 image.add(Image.GetImage(new File(fileList.get(i)).toPath())); 42 } 43 44 45 return image; 46 47 } 48 49 50 51 //ファイルかディレクトリかを選別 52 public static type GetFileType(File file) 53 { 54 if(file.exists() == true) 55 { 56 if(file.isFile() == true) 57 { 58 String extension = file.getName().substring(file.getName().lastIndexOf(".")); 59 60 if(extension.equals(".png") || extension.equals(".jpg") || extension.equals(".jpeg")) 61 { 62 return type.File; 63 } 64 } 65 else 66 { 67 return type.Directory; 68 } 69 } 70 else 71 { 72 System.out.println("対応形式ではりません: " + file.getName()); 73 return type.Invalid; 74 } 75 76 return type.Invalid; 77 } 78} 79
>ファイルパスは読み込まれています
第三者が判断できる確固たる根拠の提示を
回答3件
あなたの回答
tips
プレビュー