Java 列出已编号目录中的文件,当按下“编号”时,将显示文件内容(.txt文件)
我对java非常陌生,我正在为自己做一个小项目。目前我的代码将“blah”目录中的所有文件都列在控制台上。我希望在新行中列出带有数字的文件,当您使用scanner?键入数字时,它会显示文件的内容。我想我需要一个数组什么的 这是我的密码:Java 列出已编号目录中的文件,当按下“编号”时,将显示文件内容(.txt文件),java,arrays,console,Java,Arrays,Console,我对java非常陌生,我正在为自己做一个小项目。目前我的代码将“blah”目录中的所有文件都列在控制台上。我希望在新行中列出带有数字的文件,当您使用scanner?键入数字时,它会显示文件的内容。我想我需要一个数组什么的 这是我的密码: public static void main(String[] args) { File folder = new File("C:\\Users\\Administrator\\Documents\\blah"); File[] listO
public static void main(String[] args) {
File folder = new File("C:\\Users\\Administrator\\Documents\\blah");
File[] listOfFiles = folder.listFiles();
for (int i = 0; i < listOfFiles.length; i++) {
if (listOfFiles[i].isFile()) {
System.out.println("File " + listOfFiles[i].getName());
} else if (listOfFiles[i].isDirectory()) {
System.out.println("Directory " + listOfFiles[i].getName());
}
}
}
希望您能提供帮助:我建议:
显示数字的整数i:
System.out.printlni+-File+listOfFiles[i].getName
等待用户输入一些内容
如果是一个数字,且该数字public static void main(String[] args) {
File folder = new File("C:\\Users\\Administrator\\Documents\\blah");
File[] listOfFiles = folder.listFiles();
for (int i = 0; i < listOfFiles.length; i++) {
if (listOfFiles[i].isFile()) {
System.out.println(i + " - File " + listOfFiles[i].getName());
} else if (listOfFiles[i].isDirectory()) {
System.out.println(i + " - Directory " + listOfFiles[i].getName());
}
}
System.out.println("Enter a number : ");
Scanner scanner = new Scanner(System.in);
BufferedReader buffer = null;
try {
String text = scanner.next();
int number = Integer.parseInt(text);
if (number < listOfFiles.length && listOfFiles[number].isFile() && listOfFiles[number].getName().endsWith(".txt")) {
FileReader fileReader = new FileReader(listOfFiles[number]);
buffer = new BufferedReader(fileReader);
String line = null;
while ((line = buffer.readLine()) != null) {
System.out.println(line);
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
scanner.close();
if (buffer != null) {
try {
buffer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
你不能在控制台应用程序中按按钮,你需要一个GUI,或者你可以让用户通过键入一个数字来选择一个文件。是的,这就是我的意思,抱歉,我将进行编辑以使其更清晰。hahaYou可以拥有一个包含所有文件名的数组,并使用一个简单的局部int计数器变量(即1、2、3等)打印它们,然后使用扫描仪获取输入,例如“userInput”,并从数组中获取文件名作为数组[userInput]。我明白了!非常感谢你:D