نقل قول: خواندن و نوشتن در جاوا
کسی نیست جواب یا راه حلی بده؟
نقل قول: خواندن و نوشتن در جاوا
کد زیر دو تابع داره یکی برای save و یکی برای load. ورودی و خروجی آرایه ای از نوع String هست. در متد main هم یک مثال نوشتم که بشه عملکردش رو دید
import java.io.File;import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Scanner;
public class Settings {
private final static String SETTING_FILE_PATH = "settings.txt";
public static boolean saveSettings(String[] settings) {
if (settings == null) {
return true;
}
PrintWriter printWriter = null;
try {
File file = new File(SETTING_FILE_PATH);
printWriter = new PrintWriter(file);
for (String setting : settings) {
printWriter.println(setting);
}
printWriter.flush();
} catch (IOException ex) {
System.out.println(ex.getMessage());
return false;
} finally {
if (printWriter != null) {
printWriter.close();
}
}
return true;
}
public static String[] loadSettings() {
Scanner cin = null;
ArrayList<String> settings = new ArrayList<>();
try {
File file = new File(SETTING_FILE_PATH);
cin = new Scanner(file);
while (cin.hasNextLine()) {
String str = cin.nextLine();
settings.add(str);
}
} catch (IOException ex) {
System.out.println(ex.getMessage());
return null;
} finally {
if (cin != null) {
cin.close();
}
}
return (String[]) settings.toArray(new String[0]);
}
public static void main(String[] args) {
String[] sets = new String[]{"abx", "cd", "123"};
saveSettings(sets);
String[] settings = loadSettings();
for (String str : settings) {
System.out.println(str);
}
}
}