系统找不到Kotlin中指定的文件

我尝试从相同的包中的文件读取,所以当我运行代码它给我错误

var buffer: BufferedReader? = null val result = try { buffer = BufferedReader(FileReader("file.txt")) val chars = CharArray(30) buffer.read(chars, 0, 40) 0 } catch (e: IndexOutOfBoundsException) { println(" Exception handle") 1 } catch(e: FileNotFoundException) { println(e.message) 2 } finally { buffer?.close() println("closed") } println(result) 

输出:

file.txt(系统找不到指定的文件)

关闭

2

当我指定完整路径FileNoFoundException不抛出为什么?

 var buffer: BufferedReader? = null val result = try { buffer = BufferedReader(FileReader("C:\\Users\\Mahmood Ali\\IdeaProjects\\Kotlin wih hadi\\src\\tidbits\\file.txt")) val chars = CharArray(30) buffer.read(chars, 0, 40) 0 } catch (e: IndexOutOfBoundsException) { println("Exception handle") 1 } catch(e: FileNotFoundException) { println(e.message) 2 } finally { buffer?.close() println("closed") } println(result) 

输出:

异常处理

关闭

1

如果你传递了一个没有路径的文件名,JVM就会在当前的工作目录中查找这个文件,而不是你正在调用的类的包文件夹。 因此,要使用相对路径,必须首先找到程序的工作目录,如果从intelliJ运行它,通常应该是项目的根文件夹。