编译错误-在Java上使用outputStream
我是Java新手,在将一系列随机数写入输出文件时遇到了一点问题。我需要使用RandomAccessFile和writeDouble。这是我的代码图片,知道为什么会发生这种情况。谢谢编译错误-在Java上使用outputStream,java,compiler-errors,Java,Compiler Errors,我是Java新手,在将一系列随机数写入输出文件时遇到了一点问题。我需要使用RandomAccessFile和writeDouble。这是我的代码图片,知道为什么会发生这种情况。谢谢 private static void numGenerator(int values){ Random generator = new Random(); for (int i = 0; i < values; i++) { double number = generator.
private static void numGenerator(int values){
Random generator = new Random();
for (int i = 0; i < values; i++) {
double number = generator.nextInt(200);
System.out.println(number);
String outFile = "output.txt";
RandomAccessFile outputStream = null;
try{
outputStream = new RandomAccessFile(outFile,"rw");
}
catch(FileNotFoundException e){
System.out.println("Error opening the file " + outFile);
System.exit(0);
}
number = outputStream.writeDouble(number); //ERROR
}
}
私有静态void numGenerator(int值){
随机生成器=新随机();
对于(int i=0;i
编辑:
错误:类型不匹配:无法从void转换为double此错误有意义。您正在写入一个RAF,根据它,writeDouble方法返回void。你为什么要设置一个等于这个的数字?这种说法毫无意义:
number = outputStream.writeDouble(number);
相反,只要做:
outputStream.writeDouble(number);
另外,为什么要在for循环的每次迭代中创建一个新的RAF?您不想在for循环之前创建一个文件,并在循环内部向其添加数据吗
还有,为什么一开始就使用英国皇家空军?为什么不直接使用文本文件呢?这个错误是有道理的。您正在写入一个RAF,根据它,writeDouble方法返回void。你为什么要设置一个等于这个的数字?这种说法毫无意义:
number = outputStream.writeDouble(number);
相反,只要做:
outputStream.writeDouble(number);
另外,为什么要在for循环的每次迭代中创建一个新的RAF?您不想在for循环之前创建一个文件,并在循环内部向其添加数据吗
还有,为什么一开始就使用英国皇家空军?为什么不干脆用一个文本文件呢?我突然想到三件事:
nextInt()
而不是nextDouble()
try…catch
块内。对引发任何异常的任何方法的任何调用都必须位于try…catch
块内。(或者,如果您正在使用的方法具有签名抛出异常
,则不需要try…catch
块。但是在某个地方,您需要在抛出异常时处理异常。)有三件事突然向我袭来:
nextInt()
而不是nextDouble()
try…catch
块内。对引发任何异常的任何方法的任何调用都必须位于try…catch
块内。(或者,如果您正在使用的方法具有签名抛出异常
,则不需要try…catch
块。但是在某个地方,您需要在抛出异常时处理异常。)我正在尝试获取我生成的随机数,并将它们复制到您正在使用writeDouble执行此操作的文件中。但它不是文本文件。这是一个字节文件。我猜您在这里使用随机访问文件可能是错误的。@user1354275:为了让我们更好地帮助您,请告诉我们更多关于您的目标以及您决定使用随机访问文件(RAF)的原因存储你的数据。我试图获取我生成的随机数,并将它们复制到你正在使用writeDouble执行此操作的文件中。但它不是文本文件。这是一个字节文件。我猜您在这里使用随机访问文件可能是错误的。@user1354275:为了让我们更好地帮助您,请告诉我们您的目标是什么,以及您决定使用随机访问文件(RAF)存储数据的原因。