Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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
Android 将多个文件保存到ZIP而不保存它们&;把它们读回来_Android_Android File - Fatal编程技术网

Android 将多个文件保存到ZIP而不保存它们&;把它们读回来

Android 将多个文件保存到ZIP而不保存它们&;把它们读回来,android,android-file,Android,Android File,我正在从字符串创建多个文件 例如,4个字符串;一个是xml格式,3个是csv格式 我的问题是,我是否必须先将这些字符串保存到一个文件中,然后再读取它,然后将其写入ZipOutputStream?看起来真的有点浪费 提前感谢因此,这里是我的解决方案,用于保存多个文件,而无需在之前创建物理文件。注意字符串的大小 for (int i =0; i <stringArray.size();i++) { String outString = stringArray.g

我正在从字符串创建多个文件

例如,4个字符串;一个是xml格式,3个是csv格式

我的问题是,我是否必须先将这些字符串保存到一个文件中,然后再读取它,然后将其写入ZipOutputStream?看起来真的有点浪费


提前感谢

因此,这里是我的解决方案,用于保存多个文件,而无需在之前创建物理文件。注意字符串的大小

for (int i =0; i <stringArray.size();i++) {
                String outString = stringArray.get(i);
                String fileName = null;
                if (i == 0) {
                    fileName = "StringOne.xml";

                } else if (i == 1) {
                    fileName = "StringTwo.csv";
                } else if (i ==2) {
                    fileName = "StringThree.csv";
                } else if (i == 3) {
                    fileName = "StringFour.csv";
                }
                Log.d("ZipCreation", "Creating "+fileName);
                // SAVE THE STRING AS A BYTE ARRAY IN MEMORY INSTEAD OF CREATING AND SAVING TO A NEW FILE
                ByteArrayOutputStream baos = new ByteArrayOutputStream();
                DataOutputStream byteOut = new DataOutputStream(baos);
                byte[] data = stringArray.get(i).getBytes("UTF-8");
                byteOut.write(data);
                byteOut.close();
                byte[] input = baos.toByteArray();

                ZipEntry entry = new ZipEntry(fileName);
                entry.setSize(input.length);
                zos.putNextEntry(entry);
                zos.write(input);
                zos.closeEntry();
            }
for(inti=0;我有一个非常类似的问题:这个链接可能会有帮助