2017-06-15 100 views
-1

考虑下面的类定义在超市/食品商店销售的商品:如何打开二进制文件,读取对象并将它们放入数组列表中?

有一个名为包含类型GroceryItem的5个对象,以前在内存中是之前的详细信息“objects.dat”二进制数据文件直接保存到数据文件。 为一个名为processFiles的方法编写代码,它将打开“objects.dat”文件,读入5个单独的GroceryItem对象,并将它们放入ArrayList中。然后,它将创建一个名为“report.txt”的文本文件,并将每个GroceryItem的条形码,名称和价格写入文件,每行一个GroceryItem。包括适当的异常处理代码,以在出现问题时显示用户友好的消息。

+0

你能告诉我们你到目前为止做了什么吗? –

+0

这是一个旧的考试问题。 – Romi

+0

而且非常可怜,如果这就是它的全部。你应该被告知如何创建文件。如果文件已经存在,为什么要问为什么'实现Serializable'现在是必要的?第一行是什么? – EJP

回答

-1

我明白你的问题,你想读取二进制数据并存储在数组中。

public static void main(String[] args) { 

    Path test_path = Paths.get("D:/test", "test.txt"); 

    try { 
     byte[] testArray = Files.readAllBytes(test_path); 

     String wikiString = new String(testArray , "ISO-8859-1"); 
     System.out.println(testArray); 
    } catch (IOException io) { 
     System.out.println(io); 
    } 

    } 
+0

我不知道如何从'读取5个单独的GroceryItem对象'到'读取二进制数据并存储在数组中',但是你完全错了。 – EJP

相关问题