Projekt

Obecné

Profil

Stáhnout (1.9 KB) Statistiky
| Větev: | Tag: | Revize:
1
package io;
2

    
3
import java.io.BufferedInputStream;
4
import java.io.BufferedWriter;
5
import java.io.ByteArrayInputStream;
6
import java.io.File;
7
import java.io.FileInputStream;
8
import java.io.FileWriter;
9
import java.io.IOException;
10
import java.util.ArrayList;
11
import java.util.List;
12
import java.util.NoSuchElementException;
13

    
14
public class FileWorker {
15
	
16
	public static byte[] loadByteArray(File file) throws IOException {
17
		byte fileContent[] = loadFileContent(file);
18
		byte buffer[];
19
		
20
		IZipReader input;
21
		try {
22
			input = new ZipInStream(new ByteArrayInputStream(fileContent));
23
		} catch (NoSuchElementException e) {
24
			System.out.println("Note: the file may be a special type of ZIP archive.");
25
			input = new InflaterInStream(new FileInputStream(file));
26
		}
27
		
28
		try {
29
			List<Byte> _buffer = new ArrayList<Byte>();
30
			while (true) {
31
				int value = input.read();
32
				if (value < 0) {
33
					break;
34
				} else {
35
					_buffer.add((byte) value);
36
				}
37
			}
38

    
39
			buffer = new byte[_buffer.size()];
40
			for (int i = 0; i < buffer.length; i++) {
41
				buffer[i] = _buffer.get(i);
42
			}
43
			
44
			System.out.println(String.format("The file is a%s ZIP archive...", input.getClass() == InflaterInStream.class ? " special" : ""));
45
		} catch (Exception e) {
46
			e.printStackTrace();
47
			System.out.println("The file is not a ZIP archive...");
48
			buffer = fileContent;
49
		} finally {
50
			input.close();
51
		}
52

    
53
		System.out.println("Bytes from the file were loaded correctly.");
54
		return buffer;
55
	}
56

    
57
	private static byte[] loadFileContent(File file) throws IOException {
58
		byte buffer[] = new byte[(int) file.length()];
59
		BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));
60
		bis.read(buffer);
61
		bis.close();
62
		return buffer;
63
	}
64
	
65
	public static void saveJson(File file, String json) throws IOException {
66
		FileWriter fw = new FileWriter(file);
67
		BufferedWriter bw = new BufferedWriter(fw);
68
		bw.write(json);
69
		bw.flush();
70
		bw.close();
71
	}
72
	
73
}
(1-1/4)