算法-(java)-从文件中读取、写入数据

本文介绍了如何在Java中使用math.pow函数进行m的n次幂计算,特别是在处理10的n次幂时,通过BigDecimal避免结果出现科学计数法。此外,还讲解了如何进行文件的读取和写入操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.m的n次幂表示

在算法题中经常遇到10的n次幂,java中计算中,有一个函数,返回double类型,math.pow(m,n),m为基数,n为幂次方。这样打印出结果,会打印出带e的数字,如果想要实际显示,可用BigDecimal(BigDecimal result=new BigDecimal(Math.pow(10,10)); )表示 。
2.文件到读取与写入

/**
 * Created by 苏叶 on 16/10/29.
 */
import java.io.*;
public class Factorial {
     /**
      * 功能:Java读取txt文件的内容
      * 步骤:1:先获得文件句柄
      * 2:获得文件句柄当做是输入一个字节码流,需要对这个输入流进行读取
      * 3:读取到输入流后,需要读取生成字节流
      * 4:一行一行的输出。readline()。
      * 备注:需要考虑的是异常情况
      * @param filePath
      */
     public static void readTxtFile(String filePath){
         try {
                 String encoding="GBK";
                 File file=new File(filePath);
                 if(file.isFile() && file.exists()){

                     //判断文件是否存在
                     InputStreamReader read = new InputStreamReader(
                     new FileInputStream(file),encoding);//考虑到编码格式
                     BufferedReader bufferedReader = new BufferedReader(read);
                     String lineTxt = null;

                     FileWriter writer;
                     writer = new FileWriter("/Users/suye/project/src/out.txt");
                     BufferedWriter bw = new BufferedWriter(writer);
                     while((lineTxt = bufferedReader.readLine()) != null){

                      try {
                          //写入文件
                          bw.write(lineTxt+"\r\n");

                      } catch (IOException e) {

                          e.printStackTrace();

                      }

                      System.out.println(lineTxt);
                     }
                     read.close();
                     bw.close();
         }else{
             System.out.println("找不到指定的文件");
         }
         } catch (Exception e) {
             System.out.println("读取文件内容出错");
             e.printStackTrace();
         }

     }


     public static void main(String argv[]){

         String filePath = "/Users/suye/project/src/in.txt";
         readTxtFile(filePath);
     }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值