我想创建一个 RandomAccessFile 对象(在 Java 中)并写入它并读取它。我的问题是,据我所知,我似乎需要在 try/catch 块中创建文件。如果我尝试在 try/catch 块之外创建它,然后像这样在块内初始化它,
RandomAccessFile valueFile;
try
{
valueFile = new RandomAccessFile("valuefile.txt", "rw");
for (int i=0; i<numOfNums; i++)
valueFile.writeDouble(randomizer.nextDouble()*200);
}
catch (Exception e)
{
System.out.println("Couldn't find the values file.");
System.exit(0);
}
for (int i=0; i<numOfNums; i++)
{
double total = 0;
valueFile.seek(0); // go to beginning of file to start reading it.
}
然后我收到错误“未报告的异常 java.io.IOException;必须被捕获或声明为抛出”。(我还得到“变量 valueFile 可能尚未初始化”。)
但是当我在try/catch 中创建它时,像这样,
try
{
RandomAccessFile valueFile = new RandomAccessFile("valuefile.txt", "rw");
for (int i=0; i<numOfNums; i++)
valueFile.writeDouble(randomizer.nextDouble()*200);
}
catch (Exception e)
{
System.out.println("Couldn't find the values file.");
System.exit(0);
}
for (int i=0; i<numOfNums; i++)
{
double total = 0;
valueFile.seek(0);
}
我在程序的后面部分得到“找不到符号:变量 valueFile”。我认为那是因为 valueFile 被认为是 try/catch 块的本地文件?但是,我如何创建 valueFile 使其不在try/catch 块的本地?