先ほども質問させていただいて何度もすみません
NullPointerExceptionの解除の仕方がわかりません
わかる方教えていただきたいです
エラー内容
Exception in thread "main" java.lang.NullPointerException at kadai1ver3.JudgeDir.rec(JudgeDir.java:32) at kadai1ver3.Main.main(Main.java:6)
java
1package kadai1ver3; 2import java.io.File; 3import java.io.FileWriter; 4import java.io.IOException; 5 6public class JudgeDir{ 7 private File dir; 8 private File[] dirFilelist; 9 private String directoryName; 10 private String fileName; 11 public Que que = new Que(); 12 13 public JudgeDir(String directoryName,String fileName){ 14 this.directoryName = directoryName; 15 this.fileName = fileName; 16 this.dir =new File(this.directoryName); 17 this.dirFilelist = this.dir.listFiles(); 18 } 19 20 21 public void rec(){ 22 que.enq(dir); 23 try{ 24 File outputFile = new File(this.fileName); 25 FileWriter fw = new FileWriter(outputFile); 26 while(que.isEmpty()==false){ 27 File file = que.deq(); 28 this.directoryName = file.getName(); 29 fw.write("Directory : "+this.directoryName+"\n"); 30 this.dir = new File(this.directoryName); 31 this.dirFilelist = file.listFiles(); 32 for(int i=0;i<dirFilelist.length;i++){//ここが32行目です 33 if(dirFilelist[i].isDirectory()){ 34 fw.write(" "+dirFilelist[i].getName()+"はディレクトリです"); 35 que.enq(dirFilelist[i]); 36 } 37 38 else{ 39 fw.write(" "+dirFilelist[i].getName()); 40 } 41 fw.write("\n"); 42 } 43 fw.write("\n"); 44 } 45 fw.close(); 46 } 47 catch(IOException e){ 48 System.out.println(e); 49 } 50 } 51}
制限を受けているわけではないので「解除」という表現はおかしいのでは?それに珍しいエラーでもないですし何も調べがつかない内容ではないはずですよ。エラーの場所もはっきり示してくれてます
タイトルは解決したいことをわかりやすく
質問は編集できます。こちらのコメントでは要件が不明瞭だったり情報が不足していたりガイドラインにそっていない場合により具体的な解決策を回答として得るために質問本文を調整してほしい依頼が投稿されます。
何かしら投稿されるということは質問が十分ではないということですので、解決のみを優先させずなるべくご対応願います
ところどころ表示させていったらわかりました。
わかりづらくて申し訳ありません。。
質問は編集できますので
解決のみを優先させずなるべくご対応願います (2回目)
ひとつ前の質問でも追記修正依頼をスルーされているようですし、回答者も人ですので、特にエンジニアは「自分だけがよければそれでいい」スタンスの人を嫌います。
回答2件
あなたの回答
tips
プレビュー