我无法让我的java程序读取任何文本文件。
public static void main(String[] args) throws java.io.IOException {
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
try {
long base = Long.parseLong(args[0]);
String input = br.readLine(); //read first line till the end of file
long list = Long.parseLong(input);
convertBase(base, list);
}
finally {
br.close();
}
}
当我手动在命令行中输入值时程序工作,但是当我尝试使用文本文件时,它会抛出异常:
Exception in thread "main" java.lang.NumberFormatException: For input string: "baseconverion.txt"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Long.parseLong(Long.java:589)
at java.lang.Long.parseLong(Long.java:631)
at FromDecimal.main(FromDecimal.java:46)
不确定我做错了什么/丢失了。
答案 0 :(得分:0)
当我尝试使用文本文件时
你的意思是'当我输入文件名而不是数字'时。你根本不是'尝试''使用文本文件'。您所做的只是在控制台输入文件名。这里没有任何东西可以打开或读取任何文本文件。 Java并不神奇:它不会神奇地意识到这是一个文件名,并为你神奇地打开它。
您需要阅读Java Tutorial和Javadoc中的文件I / O.
如果你的目标是将小数转换为另一个基数,你也不应该使用Long.parseLong()
。您需要将原始行传递给转换方法。