如果输入类型是 double,如何使用 BufferedWriter 写入文件?

How can I write to a file using BufferedWriter if the input type is double?

提问人:Amit Sur 提问时间:1/4/2023 最后编辑:RyednapAmit Sur 更新时间:1/4/2023 访问量:49

问:

我正在尝试使用 写入文件。由于 write 方法接受参数,我将类型的输入转换为类型,但它没有被正确写入文件。BufferedWriterintdoubleint

try{
     Scanner file = new Scanner(new File("/home/amit/Desktop/number.csv"));
     file.useDelimiter(", *");
     BufferedWriter writer = new BufferedWriter(new FileWriter("/home/amit/Desktop/output_number.csv"));
      while(file.hasNextDouble()){
           writer.write((int)(file.nextDouble()));
      }
      writer.flush();
      writer.close();
    }catch(Exception x){
            x.printStackTrace();
    }

我尝试读取输入,但它也不起作用。intfile.nextInt()

java.util.scanner java-io bufferedwriter 文件句柄

评论

0赞 Ryednap 1/4/2023
您能显示所需的输出与产生的输出吗?强制转换以截断小数部分。doubleint
0赞 Slaw 1/4/2023
如果您正在编写各种基元和字符串,也许使用 DateOutputStream(和读取)更有意义。DataInputStream
1赞 Holger 1/20/2023
当你要复制相同的文本时,为什么你甚至要将输入解析为双精度?只需使用即可。除此之外,您应该使用 try-with-resourceswriter.write(file.next());

答:

0赞 hiren 1/4/2023 #1

BufferedWriter不能写,详见 API 规范。但是,您可以将 的字符串转换为 ,例如使用 ,然后用 写入生成的字符串。doublesdouble (file.nextDouble())StringDouble.toString((file.nextDouble()))write(String)