文件流操作

本文介绍了如何在Java中实现文件的读写操作,包括将版权信息写入文本文件及从文本文件中读取信息的方法。此外,还涉及了如何通过Properties类来管理配置文件中的键值对。
/**
     * 把 版权信息 写入到 根目录下的 copyInfo.txt文件中
     * @param str
     */
    public void writer(String infoPath, String str) {
       
       PrintWriter pw;
       try {
           HttpServletRequest request = ServletActionContext.getRequest();
           String basePath=request.getServletContext().getRealPath("copyInfo.txt");  
           
           pw = new PrintWriter( new FileWriter( basePath ) );
           pw.print(str);
           pw.close();
       } catch (IOException e) {
           logger.error("文件写操作,configInfoAction.writer", e);
       }
       
    }
    
    /**
     * 读取 根目录下的 copyInfo.txt 文件中的 信息
     */
    public String reader(String infoPath) {
       
       HttpServletRequest request = ServletActionContext.getRequest();
       String basePath=request.getServletContext().getRealPath("copyInfo.txt");
       
       FileReader fr;
       String temp="";
       try {
           fr = new FileReader(basePath);
           BufferedReader br=new BufferedReader(fr);
           
           String line=null;
           while((line=br.readLine())!=null){
           temp+=line;
           }
           br.close();
           fr.close();
           
           
       } catch (FileNotFoundException e) {
           logger.error("读版权信息-文件是否存在异常,configInfoAction.reader", e);
       } catch (IOException e) {
           logger.error("读版权信息-IO,configInfoAction.reader", e);
       }
       
       return temp;
    }


/**
     * 向property文件中写入信息
     * @param path
     * @param key
     * @param value
     * @throws IOException
     */
    public void setProperty(String path, String key, String value) throws IOException {
       
           props.setProperty(key,value);//设置属性值,如不属性不存在新建
            //props.setProperty("testProperty","testPropertyValue");
            FileOutputStream out;
           out = new FileOutputStream(path);
           props.store(out,"");//设置属性头,如不想设置,请把后面一个用""替换掉
            out.flush();//清空缓存,写入磁盘
            out.close();//关闭输出流
       
    }
    
    /**
     * 获得配置文件中的  版权信息
     * @return
     */
    public static String getCopyInfo() {
       
       //获得属性文件路径
       HttpServletRequest request = ServletActionContext.getRequest();
       String basePath=request.getServletContext().getRealPath("/WEB-INF/src/setting.properties");    
       
       PropertyUtil pu=new PropertyUtil(basePath);
       System.out.println(pu.getProperty("CopyInfo"));
       return pu.getProperty("CopyInfo");
       
       
    }


private static Properties props=new Properties();
    
    public PropertyUtil(String path){
       
       InputStream is=null;
       try{
           is=new FileInputStream(path);
           props.load(is);
       }catch(Exception e){
           throw new RuntimeException(e);
       }finally{
           if(null!=is){
              try{
                  is.close();
              }catch(IOException e){
                  throw new RuntimeException(e);
              }
           }
       }
    }
    public static String getProperty(String key){ 
       String property=props.getProperty(key);       
       return property;
    }


 

内容概要:本文介绍了一个基于冠豪猪优化算法(CPO)的无人机三维路径规划项目,利用Python实现了在复杂三维环境中为无人机规划安全、高效、低能耗飞行路径的完整解决方案。项目涵盖空间环境建模、无人机动力学约束、路径编码、多目标代价函数设计以及CPO算法的核心实现。通过体素网格建模、动态障碍物处理、路径平滑技术和多约束融合机制,系统能够在高维、密集障碍环境下快速搜索出满足飞行可行性、安全性与能效最优的路径,并支持在线重规划以适应动态环境变化。文中还提供了关键模块的代码示例,包括环境建模、路径评估和CPO优化流程。; 适合人群:具备一定Python编程基础和优化算法基础知识,从事无人机、智能机器人、路径规划或智能优化算法研究的相关科研人员与工程技术人员,尤其适合研究生及有一定工作经验的研发工程师。; 使用场景及目标:①应用于复杂三维环境下的无人机自主导航与避障;②研究智能优化算法(如CPO)在路径规划中的实际部署与性能优化;③实现多目标(路径最短、能耗最低、安全性最高)耦合条件下的工程化路径求解;④构建可扩展的智能无人系统决策框架。; 阅读建议:建议结合文中模型架构与代码示例进行实践运行,重点关注目标函数设计、CPO算法改进策略与约束处理机制,宜在仿真环境中测试不同场景以深入理解算法行为与系统鲁棒性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值