Java 파일 -- -RandomAccessFile 예
RandomAccessFile은 데이터 기록을 저장하는 파일에 접근하는 데 사용되며,seek () 방법으로 기록에 접근하여 읽기와 쓰기를 할 수 있습니다.이 기록들의 크기는 같을 필요가 없다.그러나 그 크기와 위치는 반드시 알 수 있어야 한다.그러나 이 클래스는 조작 파일에만 한정됩니다
MulitWriteFile 클래스: 프로그램 포털 - 데이터 쓰기, 데이터 읽기
public class MulitWriteFile {
static File file = new File("RandomAccessFile.txt");
public static void main(String[] args) {
/* */
if (file.exists()) {
file.delete();
}
new WriteFile(file, 5).start();
new WriteFile(file, 3).start();
new WriteFile(file, 1).start();
new WriteFile(file, 4).start();
new WriteFile(file, 2).start();
/* */
RandomAccessFile raf = null;
try {
raf = new RandomAccessFile(file, "r");
raf.seek(300);
byte[] str = new byte[20];
raf.read(str);
String in = new String(str);
System.out.println(in);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
if (raf != null) {
raf.close();
}
} catch (Exception e) {
}
}
}
}
WriteFile 클래스(스레드): RandomAccessFile 사용법 - 파일에 지정된 위치에 데이터를 씁니다.
public class WriteFile extends Thread {
/** */
File file;
/** ( ) */
int block;
/** */
int L = 100;
/**
* File
* |*** |+++
* |-----------***---------+++--------------------------|
* |---
*/
/**
* 1 2 3 4 5(2)
* |------------|------------|------------|------------|------------|
* 0xL 1xL
*
* @param f
* @param b
*/
public WriteFile(File f,int b){
file = f;
block = b;
}
@Override
public void run() {
RandomAccessFile raf = null;
try {
//
raf = new RandomAccessFile(file, "rw");
//
raf.seek((block-1)*L);
//
raf.writeBytes("This is block"+block);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
if (raf != null) {
try {
raf.close();
} catch (Exception e) {
}
}
}
}
}
posted @
2017-10-30 21:50
...) 설명(
...) 모음 편집
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.