Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Android中序列化/反序列化对象的目录?_Java_Android_File_Serialization - Fatal编程技术网

Java 在Android中序列化/反序列化对象的目录?

Java 在Android中序列化/反序列化对象的目录?,java,android,file,serialization,Java,Android,File,Serialization,我试图序列化一个对象onClick,然后在一个ListFragment中,获取该目录中的所有文件并将它们放入数组中。我有可以序列化文件名并将其放入ArrayList的代码,但它不起作用 我做错了什么?我怎样才能使它们都指向同一个目录 以下是我的序列化代码: WIFIQRCODE = "WIFI:T:"+PASSTYPE2+";S:"+SSID2+";P:"+PASS2; OutputStream file = null;

我试图序列化一个对象onClick,然后在一个ListFragment中,获取该目录中的所有文件并将它们放入数组中。我有可以序列化文件名并将其放入ArrayList的代码,但它不起作用

我做错了什么?我怎样才能使它们都指向同一个目录

以下是我的序列化代码:

 WIFIQRCODE =   "WIFI:T:"+PASSTYPE2+";S:"+SSID2+";P:"+PASS2;

                    OutputStream file = null;
                    try {
                        file = new FileOutputStream(SSID2+".ser");
                    } catch (FileNotFoundException e) {
                        e.printStackTrace();
                    }
                    OutputStream buffer = new BufferedOutputStream(file);
                    ObjectOutput output = null;
                    try {
                        output = new ObjectOutputStream(buffer);
                    } catch (IOException e) {
                        e.printStackTrace();
                    }

                    assert output != null;
                    try {
                        output.writeObject(WIFIQRCODE);
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
以及获取ListFragment中文件名的代码:

 String[] filenames = getApplicationContext().fileList();
            List<String> list = new ArrayList<String>();
            for(int i = 0; i<filenames.length; i++){
                //Log.d("Filename", filenames[i]);
                list.add(filenames[i]);
            }
            ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(),
                    android.R.layout.simple_list_item_1, filenames);
            setListAdapter(adapter);
        }
String[]filenames=getApplicationContext().fileList();
列表=新的ArrayList();

对于(int i=0;i为什么您使用此方法而不是Parcelable?Parcelable通常在Android中工作得更好。或者您需要持久化到文件吗?
WIFIQRCODE
只是一个
字符串
,为什么您需要将其存储为
对象
?还需要
getApplicationContext()。openFileOutput(名称)
应该将它们放在与您阅读的目录相同的目录中。我正在使用此方法,以便以后使用会话时可以使用它们