Java文件有话说

各种编程语言对文件的基本操作都是:

  1. 创建/删除文件
  2. 读写改文件的内容
  3. 按要求筛选文件名/文件内容
  4. 配置文件的使用

Java语言不同与C++的是java在对文件的读写改操作时必须转换为byte字节来存入文件。通俗的来说就是在java中想要将int、String、double等基本类型/应用类型(对象)存入文件中,必须先转换为byte字节,然后才能调用java.io*、java.util*包中的方法等来具体的实现;同样的从文件中取出数据也是先对byte操作,从byte中取出响应的字节来进一步的转换为我们需要的各种类型。


问:如果我们想将int、String、Students(类对象)存入文件中,该怎么办?

这是就要注意了,因为不同的类型都要先转换为byte型,然后存入文件中,但是由于存入的类型各不相同,这就会让从文件中取数据变得困难起来,这里对于字符串采用Length + Content编码,即长度——数据,意思就是在存入String类型前先把String的byte数记录下来并存入文件中,这样从文件中读取String时就先读取字节数,然后取出响应长度的字节出来,最后再将byte[ ]转换为String。

//写入文件
byte[ ] buffer=new byte[1024];

ByteBuffer dstbuff=ByteBuffer.wrap(buffer);

dstbuff.putInt( );

String str=”你好,中国!”;

byte[ ] buf=str.getByte( );

int length=buf.length;

dstbuff..putShort((short)length);

dstbuff..put(buf);

File filename=new File(“e:\\example\\abc.txt”);  //并没有创建File,只是定义了一个filepath

FileOutputStream file=new FileOutputStream(filename);

file.write(buf);

file.close( );



//读出文件
byte[ ] buffer=new byte[1024];

File filename=new File(“e:\\example\\abc.txt”);

FileInputStream file=new FileInputStream(filename);

file.read(buffer);

file.close( );

ByteBuffer dstbuff=ByteBuffer.wrap(buffer);

int id=dstbuff.getInt( );

short length=dstbuff.getShort( );

byte[ ] buf=new byte[length];

dstbuff.get(buf,0,length);

String name=new String(buf,”GBK”);

配置文件的使用

Eclipse中自带一个properties的配置文件,该文件可以主要形式为:key=data,通过创建一个Properties对象来读取出来properties文件中key所对应的data数据;当然更为广泛应用的配置文件还是xml配置文件了,java中含有调用xml文件的包,利用这些包可以实现对xml文件中的<root>下的子元素<child>的读取了。在这里就不做介绍了,之后会继续更新xml配置文件的读取与写入。

了解Java配置文件请点此连接:https://blog.csdn.net/biggerchong/article/details/83903425

谢谢观看!欢迎评论!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值