这是我的问题。路径为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();
}
答案 0 :(得分:1)
桌面不是文件,它是一个文件夹 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();
}
答案 1 :(得分:1)
路径名是指文件夹而不是文件,您无法以Reader
打开文件夹。
解决方案取决于您要做的事情。
如果您尝试读取文件夹中文件的名称,请使用File.list() -> String[]
并迭代数组。
如果您尝试读取文件夹中所有文件的内容,请使用File.listFiles() -> File[]
并迭代该数组。对于每个文件,打开,读取行,然后关闭文件。
如果您尝试读取Desktop
文件夹中特定文件的内容,请使用该文件的路径名,而不是文件夹。