Este artigo descreve como Java implementa leitura, gravação e compactação de arquivos por meio de exemplos. O código específico é o seguinte:
pacote com.toone.iform.action.common;importar java.io.BufferedReader; importar java.io.FileNotFoundException; .FileOutputStream; importar java.io.FileReader; java.io.IOException; importar java.io.InputStream; importar java.util.ZipException; zip.ZipFile; public class TestFileIO { static String s = File.separator; Há um arquivo Welcome.java na unidade D. Agora leia-o por bytes: int a = 0; // int counter=0; // Fluxo de entrada try { f11 = new FileInputStream("D:" + s + "Bem-vindo.java"); enquanto ((a = f11.read()) != -1) System.out.print((char) a); A saída aqui é por byte. Os caracteres chineses não podem ser gerados normalmente porque um caractere chinês tem dois bytes. System.out.println("/n/n-------------------------------------- -----------/n"); FileReader f12 = new FileReader("D:" + s + "Welcome.java"); while ((a = f12.read()) != - 1) System.out.print((char) a);// Aqui está a saída por caractere, os caracteres chineses podem ser gerados normalmente System.out.println("/n/n-------------------------- -----------------------/n"); f11.close();// Fecha o arquivo após ler f12.close();// Fecha o arquivo após a leitura} catch (FileNotFoundException e) { // TODO bloco de captura gerado automaticamente e.printStackTrace() } catch (IOException e) { // TODO gerado automaticamente catch block e.printStackTrace(); } private static void testOutput() { // Há um arquivo Welcome.java na unidade D. Agora leia-o por bytes: int a = 0; new File ("D:" + s + "testFile" + s + "test1.txt"); // Defina um novo arquivo f21 e determine se ele existe neste diretório. Se não existir, crie-o. if (!f21.exists()) { f21.getParentFile().mkdirs(); try { f21.createNewFile(); // Copie o conteúdo de "Welcome.java" para f21 FileOutputStream fos = new FileOutputStream(f21); FileInputStream fis = new FileInputStream("D:" + s + "Welcome.java");// Leia o arquivo "Welcome.java" while ((a = fis.read()) != -1) fos.write(a);// Grave a memória de leitura em fos, e agora o test1.txt é Copie o / / classe escritor FileWriter de Welcome.java f22 = new FileWriter("D:" + s + "testFile" + s + "test2.txt"); 0; i < 65535; i++) f22.write(i);//Escreve em test2.txt. Também pode ser visto aqui que as declarações nas linhas 35-38 acima para determinar se o arquivo existe podem ser omitidas. // Escreve uma string no arquivo FileWriter f23 = new FileWriter("D:" + s + "testFile" + s + "test3.txt"); ); fis.close(); f22.close(); f23.close(); e.printStackTrace(); } } } private static void testBufferring() { // Há um arquivo Welcome.java na unidade D, agora leia-o por bytes: int a = 0, counter = 0; , implementação Escrita eficiente // BufferedWriter f31=new BufferedWriter(newFileWriter("D"+s+"testFile"+s+"test4.txt")); BufferedWriter f31; tente { f31 = new BufferedWriter(new FileWriter("D:" + s + "testFile" + s + "test4.txt")); .write(String.valueOf(new Random().nextInt(100)) + " "); 10 == 0) f31.newLine(); } f31.flush();// Atualizar buffer f31.close(); BufferedReader f32 = new BufferedReader(new FileReader("D:" + s + "testFile" + s + "test4.txt")); String s32; System.out.println("Conteúdo do arquivo de saída f32:"); while ((s32 = f32.readLine()) != null) System.out.println(s32); System.out.println("/n-----------); ---------------------------------------/n"); } catch (IOException e) { // TODO bloco de captura gerado automaticamente e.printStackTrace() } } private static void testZip() { try { File f1 = new Arquivo("D:/test.zip"); Arquivo f2 = new Arquivo("D:/testFile/testzip"); { // TODO bloco catch gerado automaticamente e.printStackTrace() } } // Extraia o arquivo zip do pacote compactado para o arquivo public static void testZipToUnzip(ZipFile zipfile, File file) { ZipEntry zentry = null; InputStream zis = null; FileOutputStream enumeration e = zipfile.entries();// O diretório do arquivo zip while (e.hasMoreElements() ) { zentry = (ZipEntry) e.nextElement(); System.out.println(zentry.getName());//Quais arquivos estão no arquivo zip? Mas por que não é produzido em ordem? ? //Coloque o arquivo descompactado na pasta de arquivos: zipout = new File(file + s + zentry.getName()); if (!zentry.isDirectory()) { try { zis = zipfile.getInputStream(zentry) ; !zipout.exists()) zipout.getParentFile().mkdirs(); byte[1024]; int comprimento; (ZipException e1) { // TODO bloco de captura gerado automaticamente e1.printStackTrace() } catch (IOException e1) { // TODO bloco de captura gerado automaticamente e1.printStackTrace(); } } } } public static void main(String[] args) throws ZipException { // TODO método gerado automaticamente testInput();