java.io.FileNotFoundException:Joiners.txt(拒绝访问)

java.io.FileNotFoundException:Joiners.txt(拒绝访问),java,filereader,access-denied,Java,Filereader,Access Denied,这是我的问题。路径为true,错误为拒绝访问。 我尝试了其他的解决方案,但没有一个对我有效 //this is my arraylist which i give value from the txt ArrayList<Person> PersonArrayList = new ArrayList<Person>(); FileReader inFile = new FileReader("C:\\Users\\

这是我的问题。路径为true,错误为拒绝访问。 我尝试了其他的解决方案,但没有一个对我有效

//this is my arraylist which i give value from the txt
       ArrayList<Person> PersonArrayList = new ArrayList<Person>();     
        FileReader inFile = new 
        FileReader("C:\\Users\\canertasan\\Desktop");
        //this is my path but access denied is problem?
        BufferedReader inStream = new BufferedReader(inFile);
        String InstaNameText;
        while ((InstaNameText = inStream.readLine()) != null) {
             PersonData.add(new Person(InstaNameText));
        inStream.close();
    } 
//这是我的arraylist,我从txt中给它赋值
ArrayList PersonArrayList=新的ArrayList();
FileReader infle=new
文件阅读器(“C:\\Users\\canertasan\\Desktop”);
//这是我的路径,但访问被拒绝是问题吗?
BufferedReader inStream=新的BufferedReader(填充);
字符串和文本;
而((InstaNameText=inStream.readLine())!=null){
PersonData.add(新的Person(instanceametext));
流内关闭();
} 

桌面不是文件,而是文件夹 应该为FileReader指定一个文件名作为参数

String filename = "C:\\Users\\UserName\\Desktop\\Joiners.txt"; //Fullpath txt file
String currentLine; //Current line
FileReader fr = null;
BufferedReader br = null;

try {
    fr = new FileReader(filename);
    br = new BufferedReader(fr);


    while((currentLine = br.readLine()) != null){
        System.out.println(currentLine);
    }
}
catch(FileNotFoundException ex){
    ex.printStackTrace();
}
catch(IOException ex){
    ex.printStackTrace();
}

try {
    if (br != null)
        br.close();
    if (fr != null)
        fr.close();
}
catch (IOException ex) {
    ex.printStackTrace();
}

路径名指的是文件夹而不是文件,并且您不能以
读取器
的身份打开文件夹

解决方案取决于您试图做什么

  • 如果要读取文件夹中文件的名称,请使用
    File.list()->String[]
    并迭代数组

  • 如果要读取文件夹中所有文件的内容,请使用
    File.listFiles()->File[]
    并迭代数组。对于每个文件,打开、读取行,然后关闭文件

  • 如果您试图读取
    Desktop
    文件夹中特定文件的内容,请使用该文件的路径名,而不是文件夹


流内关闭()故意在你的
中,而
中?你的文件名在文件路径中的什么地方?是
桌面
文件夹吗?是的,Stephen它是@StephenCI我不知道我应该在哪里给出文件名@SandePrandhawa我该怎么做?更新答案。我帮忙了?