Để thực hiện việc này, bạn cần hai thứ: A) Truy cập/Tạo thư mục cụ thể B) Thực tế sắp xếp các đối tượng của bạn và lưu chúng vào đĩa.
Đối với A) điều này chắc chắn được trả lời bằng các câu trả lời khác tại đây cho biết cách thực hiện: 1) Kiểm tra xem thư mục có tồn tại không. 2) Tạo thư mục nếu nó không tồn tại. Ngoài ra, các dự án được khởi chạy trong nhật thực có như thư mục làm việc của thư mục dự án eclipse.
Đối với B), bạn cần phải sắp đặt từng hàng các đối tượng của mình bằng FileOutputStream. Xem http://www.tutorialspoint.com/java/java_serialization.htm. Bạn có thể sắp xếp từng đối tượng vào một tệp riêng biệt hoặc tạo một lớp với một ArrayList (hoặc một số cấu trúc dữ liệu khác) có chứa tham chiếu đến tất cả các đối tượng.
Bên dưới một ví dụ Lớp làm đúng những gì bạn đã hỏi bằng cách sử dụng Phương thức tĩnh vì tôi không muốn khởi tạo đối tượng. Ngoài ra, bạn cần nhấn F5 trong dự án eclipse của bạn để làm mới gói thám hiểm và xem thư mục và tệp mới.
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
public class CreateDirAndSerialize {
public static void main(String args[])
{
ArrayList<String> sampleString = new ArrayList<String>();
sampleString.add("Test1");
sampleString.add("Test2");
sampleString.add("Test2");
//Get the directory
File directory = getSerializedDirectory();
writeObjects(directory, sampleString);
}
public static void writeObjects(File directory, Object object)
{
try
{
FileOutputStream fileOut =
new FileOutputStream(directory+"//serializedData");
ObjectOutputStream out =
new ObjectOutputStream(fileOut);
out.writeObject(object);
out.close();
fileOut.close();
}catch(IOException i)
{
i.printStackTrace();
}
}
public static File getSerializedDirectory()
{
File serializedDir = new File("serialized");
if (!serializedDir.exists()) {
serializedDir.mkdir();
}
return serializedDir;
}
}
Khi câu hỏi được đề cập đến trong dự án, ở trên là mã trong dự án nhật thực. Nếu bạn muốn tương tác với Eclipse, chúng ta đang nói về phát triển plugin eclipse, đó là một câu chuyện hoàn toàn khác, do đó bạn cần phải xác định điều đó.
Cuối cùng, bạn cũng có thể tạo một lớp tùy chỉnh chứa bất kỳ biến nào bạn muốn và khởi tạo một đối tượng đơn để chứa tất cả các đối tượng khác của bạn. Tuy nhiên, có một số hạn chế khi sắp xếp các đối tượng, ví dụ: : - Tham chiếu đối tượng với công cụ sửa đổi tĩnh không thể tuần tự hóa được.
Xem phần này để biết một số quy tắc/mẹo cho một số quy tắc có thể tuần tự hóa: http://www.xyzws.com/Javafaq/what-are-rules-of-serialization-in-java/208
Nguồn
2013-04-07 19:16:08
+1 cho câu trả lời toàn diện với mã làm việc. –