από giannosfor » 16 Απρ 2012, 16:19
Οκ εντάξει,αν και αναλόγως πώς θα την χρησιμοποιήσεις έχει κάποια λαθάκια ,κυρίως στη λογική.
Αν την χρησιμοποιούσα θα την έγραφα κάπως έτσι.
-
Μορφοποιημένος Κώδικας: Επιλογή όλων
-
import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.Formatter;
import java.util.Scanner;
public class Save_Load_Library {
public static void WriteFile(String file, String[] array) {
try {
Formatter output = new Formatter(file);
for (int i = 0; i < array.length; i++) {
output.format("%s \n", array[i]);
}
output.close();
} catch (SecurityException se) {
System.err.println("You dont have the permission to open the file.");
} catch (FileNotFoundException fe) {
System.err.println("File not found.");
}
}
public static String[] readFile(String path) throws FileNotFoundException {
ArrayList< String> rarray = new ArrayList();
Scanner input = new Scanner(new File(path));
while (input.hasNext()) {
rarray.add(input.nextLine());
}
input.close();
return (String[]) rarray.toArray();
}
}
Πρώτα θα τις έκανα static ,δε χρειάζεται να δημιουργήσεις καινούργιο αντικείμενο αφού περνάς εσύ τα στοιχεία στις παραμέτρους.
Η τελευταία μέθοδο θεωρώ ότι δε χρειάζεται και τον έλεγχο για FileException θα τον έκανα στην κλάση που θα καλούσε τη μέθοδο.
1 Γνώσεις Linux: Καθόλου ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 12.04 precise 3.2.0-58-generic 32bit (en_US.UTF-8, Unity ubuntu), Ubuntu 3.2.0-57-generic, Microsoft Windows XP Professional
3 Intel Core2 Duo CPU E4600 2.40GHz ‖ RAM 2012 MiB ‖ ASUS INC. P5Q - � P5Q
4 nVidia G94 [GeForce 9600 GT] [10de:0622] {nvidia}
5 eth0: Qualcomm Atheros AR8121/AR8113/AR8114 Gigabit or Fast Ethernet [1969:1026] (rev b0) ⋮ wlan0: 148f:3070 Ralink Technology, Corp. RT2870/RT3070 Wireless Adapter