Java 檔案的隨機讀寫
Java.io 包提供了 RandomAccessFile 類用於隨機檔案的建立和訪問。使用這個類,可以跳轉到檔案的任意位置讀寫資料。程式可以在隨機檔案中插入資料,而不會破壞該檔案的其他資料。此外,程式也可以更新或刪除先前儲存的資料,而不用重寫整個檔案。
RandomAccessFile類是Object類的直接子類,包含兩個主要的構造方法用來創 建RandomAccessFile 的物件,如表 10-11 所示。
構造方法 | 功能描述 |
---|---|
public RandomAccessFile(String name, String mode) | 指定隨機檔案流物件所對應的檔名,以 mode 表示對檔案的訪問模式 |
public RandomAccessFile (File file, String mode) | 以 file 指定隨機檔案流物件所對應的檔名,以 mode 表示訪問模式 |
需要注意的是,mode 表示所建立的隨機讀寫檔案的操作狀態,其取值包括:
- r:表示以只讀方式開啟檔案。
- rw:表示以讀寫方式開啟檔案,使用該模式只用一個物件即可同時實現讀寫操作。
表 10-12 列出了 RandowAccessFile 類常用的方法及說明。
方法 | 功能描述 |
---|---|
long length() | 返回檔案長度 |
void seek(long pos) | 移動檔案位置指示器,pos 指定從檔案開頭的偏離位元組數 |
int skipBytes(int n) | 跳過 n 個位元組,返回數為實際跳過的位元組數 |
int read() | 從檔案中讀取一個位元組,位元組的高 24 位為 0,若遇到檔案結尾,返回-1 |
final byte readByte() | 從檔案中讀取帶符號的位元組值 |
final char readChar() | 從檔案中讀取一個 Unicode 字元 |
final void writeChar(inte c) | 寫入一個字元,兩個位元組 |
【例 10-12】模仿系統日誌,將資料寫入到檔案尾部。
//********** ep10_12.java **********
import java.io.*;
class ep10_12{
public static void main(String args[]) throws IOException{
try{
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
String s=in.readLine();
RandomAccessFile myFile=new RandomAccessFile(“ep10_12.log”,”rw”);
myFile.seek(myFile.length()); //移動到檔案結尾
myFile.writeBytes(s+”\n”); //寫入資料
myFile.close();
}
catch(IOException e){}
}
}
程式執行後在目錄中建立一個 ep10_12.log 的檔案,每次執行時輸入的內容都會在該檔案內容的結尾處新增。
相關推薦
Java 檔案隨機讀寫流 RandomAccessFile
一.簡述 1、是JAVA I/O流體系中功能最豐富的檔案內容訪問類,它提供了眾多方法來訪問檔案內容。 2、由於可以自由訪問檔案的任意位置,所以如果需要訪問檔案的部分內容,RandomAccessFile將是更好的選擇。 3、可以用來訪問儲存資料記錄的檔案,檔案的記錄的大
Java 實現檔案隨機讀寫-RandomAccessFile
1.介紹 現有如下的一個需求,向已存在1G資料的txt文本里末尾追加一行文字,內容如下“Lucene是一款非常優秀的全文檢索庫”。可能大多數朋友會覺得這個需求很easy,說實話,確實easy,然後XXX君開始實現了,直接使用Java中的流讀取了txt文本里原來
java RandomAccessFile隨機讀寫流
Java的RandomAccessFile提供對檔案的讀寫功能,與普通的輸入輸出流不一樣的是RamdomAccessFile可以任意的訪問檔案的任何地方。這就是“Random”的意義所在。 RandomAccessFile的物件包含一個記錄指標,用於標識當前流的讀寫位置,
關於用檔案隨機讀寫
//--------------------------------------------------------------------------- #include <vcl.h>#pragma hdrstop#include<stdio.h>
從零開始學C++之IO流類庫(三):檔案的讀寫、二進位制檔案的讀寫、檔案隨機讀寫
#include <cassert>#include <iostream>#include <fstream>#include <string>using namespace std;struct Test { int a; int b; };i
java中的隨機讀寫檔案RandomAccessFile
java中的隨機讀寫檔案: RandomAccessFile raf = new RandomAccessFile(“test.dat”,“rw”); 1.raf.write();這個方法是寫入檔案一個位元組 raf.read();這個方法是讀取檔案一個位
Java 檔案IO隨機讀寫RandomAccessFile
目錄 前言 RandomAccessFile優勢: 新增 任意位置插入 擴充套件 前言 在一個文字檔案的結尾新增一些資料,仔細一聽。這個問題很是簡單。先把資料讀出來,然後再修改讀出的資料,再把它寫進檔案。咋一看,還真是那麼簡單。但是如果檔案由1個G大小,勉
Java 檔案的隨機讀寫
Java.io 包提供了 RandomAccessFile 類用於隨機檔案的建立和訪問。使用這個類,可以跳轉到檔案的任意位置讀寫資料。程式可以在隨機檔案中插入資料,而不會破壞該檔案的其他資料。此外,程式也可以更新或刪除先前儲存的資料,而不用重寫整個檔案。 RandomAcc
Java IO流之普通檔案流和隨機讀寫流區別
普通檔案流和隨機讀寫流區別 FileInputStream和FileOutputStream FileReader和FileWriter RandomAccessFile 兩者區別:
Java IO操作——簡單瞭解RandomAccessFile隨機讀寫檔案操作類的使用
學習目標 掌握RandomAccessFile類的作用 可以使用RandomAccessFile讀取指定位置的資料 RandomAccessFile類的主要功能是完成隨機讀取功能,可以讀取指定位置的
Java 實現文件隨機讀寫-RandomAccessFile
randomaccessfile類RandomAccessFile是Java中輸入,輸出流體系中功能最豐富的文件內容訪問類,它提供很多方法來操作文件,包括讀寫支持,與普通的IO流相比,它最大的特別之處就是支持任意訪問的方式,程序可以直接跳到任意地方來讀寫數據。如果我們只希望訪問文件的部分內容,而不是把文件從頭
java使用FileUtils 對json檔案進行讀寫
package com.dl.utils; import java.io.File; import java.io.IOException; import org.apache.commons.io.FileUtils; public class GetPutItems { //寫
Java專案中讀寫檔案
1.讀取檔案 InputStream input;//輸入流 InputStreamReader isr = null; BufferedReader br = null; //用於包裝InputStreamReader,提高處理效能。因為
java 使用 NIO 讀寫檔案
public static void Readnio() { RandomAccessFile randomAccessFile = null; FileChannel fileChannel = null; try {
Java:簡單的讀寫XML檔案之使用DOM4J讀寫
Dom4J方式解析XML檔案。dom4j是非官方提供的xml檔案解析方式,因此需要去第三方下載dom4j的jar包 File file = new File("D:\\chengmuzhe\\java\\JavaOOP6.0\\students.xml"); SAXReader reader = n
JAVA四則運算(讀寫檔案)
完成時間:17:10 package 四則運算試題; import java.io.BufferedReader; import java.io.PrintStream; import java.util.Scanner; import java.io.FileReader; import java
java 檔案的IO 寫與讀
直接上程式碼: 1,寫檔案 import java.io.FileWriter; import java.io.IOException; //需求:將一些文字儲存到硬碟一個檔案中。 public class FileWriterDemo { private static fina
C語言檔案的隨機讀寫
C語言檔案的隨機讀寫 檔案順序讀寫,即讀寫檔案只能從頭開始,依次讀寫各個資料。但在實際開發中經常需要讀寫檔案的中間部分,要解決這個問題,就得先移動檔案內部的位置指標,再進行讀寫。這種讀寫方式稱為隨機讀寫,也就是說從檔案的任意位置開始讀寫。 實現隨機讀寫的關鍵是要按要求移動位置指標,這稱為
java 按位元組讀寫二進位制檔案(Base64編碼解碼)
最近在做專案時遇到這樣一個需求:依次讀取本地資料夾裡所有檔案的內容,轉為JSON,傳送到ActiveMQ的訊息佇列, 然後從MQ的訊息佇列上獲取檔案的資訊,依次寫到本地。常見的檔案型別,比如.txt 和.png等檔案的讀寫並不難。但是,我剛才所提到的需求,如果用常規的方法去讀寫,比如按位元組讀取檔案內容
Java使用RandomAccessFile讀寫檔案
Java RandomAccessFile RandomAccessFile是用來訪問那些儲存資料記錄的檔案的,你就可以用seek( )方法來訪問記錄,並進行讀寫了。這些記錄的大小不必相同;但是其大小和位置必須是可知的。但是該類僅限於操作檔案。 Ra