2016-03-24 27 views
0

Ben ancak bana bir FileNotFound istisna ancak dosya sınıfları ile aynı klasörde veren tutar, büyük bir dosyanın bir temel tarama çalıştırmak çalışıyorum.Programım neden dosyamımı bulamıyor?

import java.io.*; 
import java.util.Scanner; 
public class LastNameSearch { 
    static PopularName[] people= new PopularName[151671]; 
    public static void main(String[] args){ 
     String nextString=null; 
     PopularName nextName; 
     String[] info=new String[5]; 
     Scanner infile = new Scanner(new FileReader("LastNames.txt")); 
     int index=0; 
     while(infile.hasNext()){ 
      nextString=infile.nextLine(); 
      info=nextString.split(","); 
      nextName=new PopularName(info[0], info[1], info[2], info[3], info[4]); 
      people[index]=nextName; 
     } 
     infile.close(); 

yeni FileReader (henüz mac kullanma) ("LastNames.txt") Bu hat bana acı veriyor. Lütfen yardım et.

+0

ile

Scanner infile = new Scanner(new FileReader("LastNames.txt")); 

değiştiriyoruz. 'yeni FileReader (" /.../ FileName.txt ")' – user2004685

+0

sadece bir mutlak yol adı girin. – pvg

+0

1. Yeni FileReader ("LastNames.txt")) kullanmak yerine, adınızı bir Dosyaya sarmayı deneyin. ex: yeni FileReader (yeni Dosya ("LastNames.txt")); 2. Dosyayı LastNames.txt veya LastNames.txt.txt (varsayılan metin) olup olmadığını kontrol edin – kidnan1991

cevap

1
  1. yer

    yani JetBrains Fikir çalışma yolu olarak proje kökünü kullanan

veya

projenizin kök altındaki dosya
  1. Sınıf yolunu kullan:

    your_project/main/resources dosyanızı yerleştirin:

URL resource = this.getClass().getResource("/yourfile.txt"); 
File file = new File(resource.toURI()); 
0

mutlak yol vererek deneyin

URL myFile = this.getClass().getResource("LastNames.txt"); 
Scanner infile = new Scanner(new FileReader(new File(myFile.toURI()))); 
İlgili konular