java文件读写和properties文件的读取

限时加码!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进阶更高效! 阅读详情

1、路径分为绝对路径和相对路径。
绝对路径是指真实的路径,相对路径是相对于项目的名字所在的路径的,比如当前项目为
testfile,其下有个文件夹resource,resource下有个文件aa.txt,则txt的相对路径为resource/aa.txt
创建文件对象是使用下面的格式File file = new File("resource/aa.txt");


2、判断文件是否存在
        File file = new File("resource/aa.txt");
  if(!file.exists())
  {
      return false;
  }
  
3、读取properties文件
方法1:文件在类路径下,比如bb.properties在src/testfile/bb.properties下,则读取该文件方法如下
InputStream in = TestClassPathProperties.class.getClassLoader()
    .getResourceAsStream("testfile/bb.properties");
  
  Properties pro = new Properties();
  
  try
  {
   pro.load(in);
  }
  catch (IOException e)
  {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }


方法2:文件不在类路径下,比如bb.properties在与src同级的config目录下,那么读取该文件的方法如下
Properties pro1 = new Properties();
  
  File file = new File("config/bb.properties");
  try
  {
   InputStream ins = new FileInputStream(file.getAbsoluteFile());
   pro1.load(ins);
   
   
  }
  catch (Exception e)
  {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }

4、读写文件常用的类为FileInputStream和FileReader,前面是字节流类,后面是字符类。


5、读写字节流的使用方法如下:
读字节流
File file = new File("src/testfile/bb.txt");
  
  // 用于缓冲字节流,一般大小为1K
  byte[] bytes = new byte[1024];
  int n;
  FileInputStream fis = null;
  try
  {
   fis = new FileInputStream(file);
   
   // 文件结束时返回值为-1
   while((n = fis.read(bytes)) != -1)
   {
    // 将第0到n个字节解码为新的字符串
    System.out.println(new String(bytes,0,n));
   }
   
  }
  catch (IOException e)
  {
   e.printStackTrace();
  }
  finally
  {
   try
   {
    // 关闭字节流
    fis.close();
   }
   catch (IOException e)
   {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
  }


写字节流
File fileWrite = new File("D:\\test.txt");
  String str = "aaaa写文件";
  FileOutputStream fos = null;
  
  try
  {
   fos = new FileOutputStream(fileWrite);
   fos.write(str.getBytes());
  }
  catch (Exception e)
  {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  finally
  {
   try
   {
    fos.close();
   }
   catch (IOException e)
   {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
  }  

利用输入字节流和输出字节流拷贝文件

  File fileIn = new File("config/I18n.png");
  File fileOut = new File("config/custom/I18n.png");
  FileInputStream fis = null;
  FileOutputStream fos = null;
  
  try {
   fis = new FileInputStream(fileIn);
   fos = new FileOutputStream(fileOut);
   byte[] by = new byte[1024];
   
   while(fis.read(by) != -1)
   {
    fos.write(by);
   }
  }
  catch (Exception e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  finally
  {
   try
   {
    fos.close();
    fis.close();
   }
   catch (IOException e)
   {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
   
  }

 }

 

6、字符的读,FileReader
      字符的写,FileWriter
   演示从一个文件拷贝到另一个文件
     FileReader fr = null;
     FileWriter fw = null;
     
     try
     {
      fr = new FileReader("D:\\a.txt");
      fw = new FileWriter("D:\\java\\cc.txt");
      //读取到缓冲区
      char[] buffer = new char[1024];
      int n = 0;
      while ((n = fr.read(buffer)) != -1)
      {
       // 读取时指定其实字符和结束字符,因为有时1024长度的缓冲区不一定是满的
       // 防止不满时,出现乱码情况
       fw.write(buffer, 0, n);
      }
     }
     catch(Exception e)
     {
      e.printStackTrace();
     }
     finally
     {
      try
      {
          fr.close();
    fw.close();
   }
      catch (IOException e)
      {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
     }
  
7、一行一行的读取:BufferReader
     一行一行的写入:BufferWriter
  
     FileReader fr = null;
  FileWriter fw = null;
  BufferedReader br = null;
  BufferedWriter bw = null;
  String str = "";
  
  try
  {
   fr = new FileReader("D:\\a.txt");
   br = new BufferedReader(fr);
   
   fw = new FileWriter("D:\\fw.txt");
   bw = new BufferedWriter(fw);
   while ((str = br.readLine()) != null)
   {
    bw.write(str + "\r\n");
   }
  }
  catch (Exception e)
  {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  finally
  {
   try
   {
       bw.close();
    fw.close();
    br.close();
    fr.close();   
   }
   catch (IOException e)
   {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
   
  }

 8、参考文章

http://353588249-qq-com.iteye.com/blog/780343

Java读写Properties配置文件Properties类) PropertiesProperties基本介绍Properties常用方法Properties读取配置文件Properties写入配置文件 Properties基本介绍 专门用来读写配置文件的集合类,Properties类表示一组持久的属性。 Properties可以保存到流中或从流中加载。 属性列表中的每个键及其对应的值都是一个字符串。 属性列表可以包含另一个属性列表作为其“默认值”; 如果在原始属性列表中找不到属性键,则会搜索此第二个属性列表。 因为Properties从继承Hashtable时, 阅读详情

相关推荐

java读写properties文件,解决系统找不到指定路径,解决写入后读取正常,但文件数据未更新问题

我的邮箱:qmys116505@qq.com 有需要的,给我发邮件,我把资料回发给你    部分代码如下: /**   * 得到文件路径   */  public String getfilepath() {   return filepath;  }  /**   * 根据key取得键值   */  public String getValue(String key)

ttha的专栏 3235

判断配置属性是否存在,如果存在进行读取数据,如果不存在进行忽略

判断配置属性是否存在,如果存在进行读取数据,如果不存在进行忽略

gzg_123的博客 322

深入浅出SSD:固态存储核心技术、原理与实战(文末赠书)

作为经典畅销书的升级版,本书在第1版的基础上新增了大量新知识(如闪存、UFS、测试、文件系统等),并改写或删减了许多过时或不适用的内容,总修改量超过60%。本书由SSD技术社区SSDFans的核心团队成员联合业界、高校SSD方面的专家共同完成,相对于第1版,内容更全面、更新,也更有深度。本书从产品、技术应用3个维度展开,全面、详细讲解了SSD的发展历史、产品形态、工作原理、整体架构,以及各个功能模块的原理使用,从SSD的前端接口协议到FTL算法,再到后端的闪存纠错,以及测试,本书都有涉及。

阿玥的小博客 3088

Java读写Properties文件

Java读写Properties文件

Beyourselfsun的博客 386

Java中如何读取写入properties文件

properties文件 properties文件是一种属性文件,这种文件以key=value格式存储内容。Java中可以使用Properties类来读取这个文件,一般properties文件作为一些参数的存储,使得代码更加灵活。 这里先定义一个data.properties文件,内容如下: cn=12 kr=14 jp=64 既然properties是一个文件,那么我们也可以用FileInputStreram来进行读取: try (BufferedInputStream bis = new

仙草不加料的博客 3614

Java读取properties配置文件的8种方式汇总

Properties 类位于 java.util.Properties中,是Java 语言的处理配置文件所使用的类,其中的xxx.Properties类主要用于集中的持久存储Java的配置文件内容,可以读取后缀是.properties.cfg的配置文件Properties类调用setProperty方法将键值对保存到内存中,此时可以通过getProperty方法读取,propertyNames方法进行遍历,但是并没有将键值对持久化到属性文件中,故需要调用store方法持久化键值对到属性文件中。

cuisidong1997的博客 3250

java中经常用到的读写配置文件的信息properties属性的写入,读取例子

package com.util;import java.io.*;import java.util.*;/** *  * @author zhaizhanpo *  * */public class ReadWriteProUtil {      /**  * 根据key读取value  * 在工程中取得相对路径的方法 :this.getClass().getResource("工程路径")

zhaizhanpo的专栏 1188

记一次Java 读写Properties 文件,load() 无法读取到无任何内容的问题原因

一、java.util.properties 真好用 java开发中,properties配置文件绝对是必不可少的,经常用到的文件。有时候需要读写该类型的配置文件,而笔者遇到一个问题文件路径正确,文件具有rwx权限,但是在代码执行到 properties.load(inputStream);后,观察properties对象居然是size = 0; 代码: public static void main(String[] args) { try { String p

yanghui555的专栏 3342

java导入prop文件_java学习笔记:java文件读写-读取properties配置文件

一、简述各种语言都有自己所支持的配置文件类型,Java支持的是.properties文件读写。JDK内置的java.util.Properties类为我们操作.properties文件提供了便利。二、properties文件格式文件示例:#adaptertest init data#手机设备号mobiledevice=84c5f58a#音箱设备号miadevice=A3004100005P…“#...

weixin_39553272的博客 385

java 读写properties文件_java读取properties文件的方法

盗亦有道:这里介绍两种技术:利用spring读取properties 文件利用java.util.Properties读取(一)利用spring读取properties 文件利用org.springframework.beans.factory.support.PropertiesBeanDefinitionReader来读取属性文件构造如下config.properties文件properti...

weixin_33901087的博客 140

java按顺序读取文件_java 顺序 读写 Properties 配置文件

import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStr...

weixin_34208121的博客 418

JSP+Java+properties+FileInputStream文件读写,JSP页面读取properties文件

String realPath = request.getRealPath("WEB-INF/classes/com/properties/devicetype.properties"); 以上为获取路径的最正确做法,因此,properties可以放在com包下,或者src目录下。 Properties props = new Properties(); ...

aa18038600931的博客 218

java顺序读取properties文件_有序的方式读写Properties文件 —— 对java.util.Properties的改写...

目的前几天,要做一个JSP读写Properties的模块,意在让用户能在web界面编辑系统配置。我很自然的用了java的Porperties工具类,读出写入不知多方便,但是用户说修改一个保存之后下次来就找不到自己的东西了(顺序乱了)。于是需要做一个有序的Properties文件读写类。果断上stackoverflow,找了两个例子(链接不记得了),两种方式,抄下来。方式一,LinkedProper...

weixin_31421601的博客 504

java io 读取配置文件_(转)Java 读写Properties配置文件

原文:http://www.cnblogs.com/xudong-bupt/p/3758136.html1.Properties类与Properties配置文件Properties类继承自Hashtable类并且实现了Map接口,也是使用一种键值对的形式来保存属性集。不过Properties有特殊的地方,就是它的键值都是字符串类型。2.Properties中的主要方法(1)load(InputS...

weixin_29666489的博客 350

java配置文件读写_Java读写配置文件——Properties类的简要使用笔记

任何编程语言都有自己的读写配置文件的方法格式,Java也不例外。在Java编程语言中读写资源文件最重要的类是Properties,功能大致如下:1. 读写Properties文件2. 读写XML文件3. 不仅可以读写上述两类文件,还可以读写其它格式文件如txt等,只要符合key=value格式即可.注意:资源文件中含有中文时的处理方法1. 将中文字符通过工作转成utf8编码,可以通过Java自带...

weixin_36084686的博客 278

java props_Java程序员的日常—— Properties文件读写

在日常的Java程序开发中,Properties文件读写是很常用的。经常有开发系统通过properties文件来当做配置文件,方便用户对系统参数进行调整。那么本片就来简单的介绍下,如何使用Properties文件读取Properties类提供了Load方法,支持以inputstream为参数,读取配置文件。因此可以这样:Properties props = new Properties();...

weixin_32060429的博客 919

java tomcat 读取配置文件端口_跟我学Java编程—应用读写项目配置文件Properties类...

我们在开发软件项目时,经常需要读取项目的一些配置数据。例如,项目里用到的数据库链接地址、Tomcat服务端口号、数据文件备份地址等信息都需要放到一个配置文件里,由程序读取并获取。这样做的好处是,当需要改变数据库连接地址、Tomcat服务端口号、数据文件备份地址等信息时,不需要修改代码,只需要修改配置文件内容就可以了。Map接口还有一个重要的实现类Properties类,主要用于读取Java的配置文...

weixin_33262687的博客 276

java 读写properties文件_Java代码实现对properties文件有序的读写的示例

最近遇到一项需求,要求把properties文件中的内容读取出来供用户修改,修改完后需要再重新保存到properties文件中。很简单的需求吧,可问题是Properties是继承自HashTable的,直接通过keySet()、keys()或entrySet()方法对Properties中的元素进行遍历时取出来的内容顺序与properties文件中的顺序不一致,这是问题一;问题二是就算取出来的时候...

weixin_36228334的博客 371

linux 配置文件读写封装类,JAVA读取classess上的.properties配置文件封装类,linuxwindows下都可以使用...

JAVA读取classess下的.properties配置文件封装类,linuxwindows上都可以使用import java.io.BufferedInputStream;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.I...

weixin_30249151的博客 192
下一篇: 正则表达式
hanqiuting
博客等级 码龄18年 1粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值