-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathRandomAccessFile2.java
More file actions
51 lines (42 loc) · 2.9 KB
/
RandomAccessFile2.java
File metadata and controls
51 lines (42 loc) · 2.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import java.io.IOException;
import java.io.RandomAccessFile;
/*
Используем RandomAccessFile
*/
public class Solution {
public static void main(String... args) throws IOException {
int lengthOfText = args[2].length();
int number = Integer.parseInt(args[1]);
String fileName = args[0];
String text = args[2];
try(RandomAccessFile randomAccessFile = new RandomAccessFile(fileName, "rw");){
randomAccessFile.seek(number);
byte[] buffer = new byte[lengthOfText];
randomAccessFile.read(buffer, 0, lengthOfText);
String readString = new String(buffer);
randomAccessFile.seek(randomAccessFile.length());
if(readString.equals(text)){
randomAccessFile.write("true".getBytes());
}
else{
randomAccessFile.write("false".getBytes());
}
}
}
}
/*Используем RandomAccessFile
В метод main приходят три параметра:
1) fileName - путь к файлу;
2) number - число, позиция в файле;
3) text - текст.
Считать текст с файла начиная с позиции number, длиной такой же как и длина переданного текста в третьем параметре.
Если считанный текст такой же как и text, то записать в конец файла строку 'true', иначе записать 'false'.
Используй RandomAccessFile и его методы seek(long pos), read(byte[] b, int off, int len), write(byte[] b).
Используй один из конструкторов класса String для конвертации считанной строчки в текст.
Требования:
1. В методе main класса Solution необходимо использовать RandomAccessFile, который должен использовать файл, который приходит первым параметром.
2. В методе main класса Solution программа должна устанавливать позицию в файле, которая передана во втором параметре.
3. В методе main класса Solution программа должна считывать данные с файла при помощи метода read(byte[] b, int off, int len).
4. Запись должна происходить в конец файла.
5. Если считанный текст такой же как и text, то программа должна записать в конец переданного файла строку 'true'.
6. Если считанный текст НЕ такой же как и text, то программа должна записать в конец переданного файла строку 'false'.*/