Кажется, что компиляция моей java-программы работает нормально, но когда я пытаюсь запустить ее, используя файл в качестве одного из аргументов String [], я получаю исключение «файл не найден». Однако файл присутствует в каталоге, и я трижды проверил его написание. Вот что я пытаюсь сделать:
А вот каталог, в котором четко виден мой файл
И когда я выполняю команду ls в этом каталоге, отображаются только мои файлы .java и .class. Ни один из файлов .txt. Может ли это иметь какое-то отношение к моей проблеме?
Кто-нибудь может помочь?
Изменить: код файла, который я пытаюсь запустить
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class cs3421_emul {
public static void main(String[] args) {
try {
String directory = System.getProperty("user.dir");
directory = directory.replace("\\", "\\\\");
//File file = new File(directory + "/" + args[0]);
File file = new File(args[0]);
Scanner sc = new Scanner(file);
StreamHandler stream = new StreamHandler(sc);
while(sc.hasNext()) {
String datatype = sc.next();
switch(datatype) {
case("memory"):
stream.HandleMemory();
break;
case("clock"):
stream.HandleClock();
break;
case("cpu"):
stream.HandleCPU();
break;
}
}
sc.close();
}
catch(FileNotFoundException e) {
System.out.print(e);
}
/*
String size = "0x10000";
//System.out.println("resolve substring issue " + size.substring(2));
Memory test = new Memory(size);
test.reset();
String[] hexvalues = {"0x0A", "0x0B", "0x2A", "0x2B", "0x11", "0x44", "0x23", "0x93", "0x50", "0x22", "0xAE", "0xDE", "0xAD", "0xBE", "0xEF", "0xFF"};
test.set("0x1A00", "0x10", hexvalues);
String[] hexvalues1 = {"0xAE", "0xDE", "0xAD", "0xC0", "0xDE", "0FA", "0xCE", "0xFE", "0xED", "0xCA", "0xFE", "0xBE", "0xEF", "0x30", "0xA8", "0xEE"};
test.set("0x1A10", "0x10", hexvalues1);
String[] hexvalues2 = {"0x55", "0xAA", "0x10", "0x20"};
test.set("0x1A20", "0x04", hexvalues2);
test.dump("0x1A04", "0x20");
//String[] testmemory = test.getMemory();
*/
}
}