我在Java中創建一個任務列表應用程序,但遇到了一個問題,試圖從我的代碼中訪問外部文件。這是我到目前爲止:訪問外部文件Java
import java.io.*;
import java.util.Scanner;
public class Main {
public static String fileName = "Users/bobsmith/Desktop/tasklistjava/src/javatask.txt";
public static void main(String[] args) throws IOException {
int menuItem = -1;
while(menuItem != 0){
menuItem = menu();
switch (menuItem){
case 1:
showTaskList();
break;
case 2:
addTask();
break;
case 3:
sortList();
break;
case 0:
break;
default:
System.out.println("Invalid Input");
}
}
}
static int menu(){
int choice;
Scanner sc = new Scanner(System.in);
System.out.println("\n Task List Menu \n");
System.out.println("0: Exit Menu");
System.out.println("1: Show Tasks in List");
System.out.println("2: Add Task to List");
System.out.println("3: Sort Tasks by Due Date");
System.out.println();
System.out.println("Enter a Task: ");
choice = sc.nextInt();
return choice;
}
static void showTaskList(){
System.out.println("\nTask List\n");
try {
Scanner inFile = new Scanner(new FileReader(fileName));
String line;
int number = 1;
while(inFile.hasNextLine()){
line = inFile.nextLine();
System.out.println(number + " ");
System.out.println(line);
++number;
}
System.out.println();
inFile.close();
} catch (FileNotFoundException ioe) {
System.out.println("Can't Access File");
}
}
static void addTask(){
System.out.println("\nAdd Task\n");
try {
Scanner input = new Scanner(System.in);
PrintWriter outFile = new PrintWriter(new FileWriter(fileName, true));
System.out.println("Enter a Task: ");
String addedTask = input.nextLine();
System.out.println("You Must set a Due Date for this task: ");
String dueDate = input.nextLine();
outFile.println(addedTask + " " + dueDate);
outFile.close();
} catch (IOException ioe) {
System.out.println("Can't Access File");
}
}
static void sortList(){}
}
當我輸入選擇1或2時,我得到「無法訪問文件」錯誤。這可能只是一個不好的鏈接到外部文件?和建議幫助。
你可以粘貼_actual_錯誤消息(帶有堆棧跟蹤)嗎? – iamnotmaynard
可能的重複[我應該如何將文件加載到我的Java應用程序中?](http://stackoverflow.com/questions/6639/how-should-i-load-files-into-my-java-application) – Idos
因此,你發佈的大部分代碼和'switch-statement'標籤與你遇到的問題完全不相關? – khelwood