当前位置:Gxlcms > 数据库问题 > Java 核心编程——文件随机读写类(RandomAccessFile)

Java 核心编程——文件随机读写类(RandomAccessFile)

时间:2021-07-01 10:21:17 帮助过:30人阅读

  RandomAccessFile主要用于文件内容的读写访问

2.访问模式

  “r”:只读方式。

  “rw”:打开以便读取和访问,如果文件不存在则创建文件。

  “rws”: 除了‘rw‘功能以外,文件内容或者元数据更新时一同写入。

  “rwd”:除了‘rw‘功能以外,文件内容更新时一同写入。

3.使用案例

  1. <span style="color: #0000ff">package</span><span style="color: #000000"> test;
  2. </span><span style="color: #0000ff">import</span><span style="color: #000000"> java.io.File;
  3. </span><span style="color: #0000ff">import</span><span style="color: #000000"> java.io.FileNotFoundException;
  4. </span><span style="color: #0000ff">import</span><span style="color: #000000"> java.io.IOException;
  5. </span><span style="color: #0000ff">import</span><span style="color: #000000"> java.io.RandomAccessFile;
  6. </span><span style="color: #0000ff">public</span> <span style="color: #0000ff">class</span><span style="color: #000000"> RandomAccess {
  7. </span><span style="color: #0000ff">public</span> <span style="color: #0000ff">static</span> <span style="color: #0000ff">void</span><span style="color: #000000"> main(String[] args) {
  8. </span><span style="color: #0000ff">try</span><span style="color: #000000"> {
  9. File file </span>= <span style="color: #0000ff">new</span> File("C:\\img\\666.txt"<span style="color: #000000">);
  10. </span><span style="color: #008000">//</span><span style="color: #008000">打开文件</span>
  11. RandomAccessFile randomAccess = <span style="color: #0000ff">new</span> RandomAccessFile(file,"rwd"); <span style="color: #008000">//</span><span style="color: #008000">访问文件 </span>
  12. Long lenth = randomAccess.length(); <span style="color: #008000">//</span><span style="color: #008000">获取文件长度</span>
  13. System.out.println("lenth:"+<span style="color: #000000">lenth);
  14. randomAccess.seek(</span>4); <span style="color: #008000">//</span><span style="color: #008000">设置指针位置
  15. </span><span style="color: #008000">//</span><span style="color: #008000">读取文件</span>
  16. <span style="color: #0000ff">int</span> c = randomAccess.read(); <span style="color: #008000">//</span><span style="color: #008000">读取一个字节</span>
  17. System.out.println("c:"+<span style="color: #000000">c);
  18. System.out.println(</span>"c:"+(<span style="color: #0000ff">char</span>)c); <span style="color: #008000">//</span><span style="color: #008000">转换为字符</span>
  19. <span style="color: #0000ff">byte</span>[] b = <span style="color: #0000ff">new</span> <span style="color: #0000ff">byte</span>[3]; <span style="color: #008000">//</span><span style="color: #008000">读取字节数字,创建数组</span>
  20. randomAccess.read(b, 1, 2); <span style="color: #008000">//</span><span style="color: #008000">从指针1处读取两个字节写入数组b中</span>
  21. String s = <span style="color: #0000ff">new</span> String(b); <span style="color: #008000">//</span><span style="color: #008000">转换为字符串</span>
  22. System.out.println("byte:"+s); <span style="color: #008000">//</span><span style="color: #008000">输出
  23. </span><span style="color: #008000">//</span><span style="color: #008000">写入文件</span>
  24. File file2 = <span style="color: #0000ff">new</span> File("C:\\img\\777.txt"<span style="color: #000000">);
  25. </span><span style="color: #0000ff">if</span>(!<span style="color: #000000">file2.getParentFile().exists()){
  26. file2.getParentFile().mkdirs();
  27. }
  28. file2.createNewFile();
  29. RandomAccessFile randomAccess2 </span>= <span style="color: #0000ff">new</span> RandomAccessFile(file2,"rwd"); <span style="color: #008000">//</span><span style="color: #008000">访问文件 </span>
  30. randomAccess2.write(b); <span style="color: #008000">//</span><span style="color: #008000">写入字符数组
  31. </span><span style="color: #008000">//</span><span style="color: #008000">关闭文件</span>
  32. <span style="color: #000000"> randomAccess.close();
  33. randomAccess2.close();
  34. } </span><span style="color: #0000ff">catch</span><span style="color: #000000"> (FileNotFoundException e) {
  35. </span><span style="color: #008000">//</span><span style="color: #008000"> TODO Auto-generated catch block</span>
  36. <span style="color: #000000"> e.printStackTrace();
  37. } </span><span style="color: #0000ff">catch</span><span style="color: #000000"> (IOException e) {
  38. </span><span style="color: #008000">//</span><span style="color: #008000"> TODO Auto-generated catch block</span>
  39. <span style="color: #000000"> e.printStackTrace();
  40. }
  41. }
  42. }</span>

 

Java 核心编程——文件随机读写类(RandomAccessFile)

标签:打开   核心编程   内容   catch   create   and   auto   long   创建文件   

人气教程排行