parent
c22cba424e
commit
b28e2578fa
@ -0,0 +1,57 @@
|
||||
// FileManager.java
|
||||
import java.io.File;
|
||||
import java.io.FileWriter;
|
||||
import java.io.IOException;
|
||||
import java.io.PrintWriter;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.Paths;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.List;
|
||||
|
||||
public class FileManager {
|
||||
public static final String ROOT_PATH = "./试卷/";
|
||||
|
||||
public void savePaper(User user, List<String> questions) throws IOException {
|
||||
String userDirectory = ROOT_PATH + user.getUsername();
|
||||
Path userPath = Paths.get(userDirectory);
|
||||
if (!Files.exists(userPath)) {
|
||||
Files.createDirectories(userPath);
|
||||
}
|
||||
|
||||
String fileName = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd-HH-mm-ss")) + ".txt";
|
||||
Path filePath = userPath.resolve(fileName);
|
||||
try (PrintWriter writer = new PrintWriter(new FileWriter(filePath.toFile(), StandardCharsets.UTF_8))) {
|
||||
for (int index = 0; index < questions.size(); index++) {
|
||||
writer.printf("%d. %s%n%n", index + 1, questions.get(index));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public boolean checkQuestion(String question, User user) throws IOException {
|
||||
String userDirectory = ROOT_PATH + user.getUsername();
|
||||
Path userPath = Paths.get(userDirectory);
|
||||
if (!Files.exists(userPath)) {
|
||||
return true;
|
||||
} else {
|
||||
File directory = new File("./试卷/" + user.getUsername());
|
||||
File[] files = directory.listFiles();
|
||||
if (files != null) {
|
||||
for (File file : files) {
|
||||
for (String line : Files.readAllLines(file.toPath())) {
|
||||
if (!line.isEmpty()) {
|
||||
line = line.replaceFirst("^\\d+\\.\\s*", "");
|
||||
if (line.equals(question)) {
|
||||
System.out.println("有道一样的题");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
Loading…
Reference in new issue