Java实现文件读写与压缩实例
文件读取
Java中可以通过File类和FileInputStream类来实现文件读取。其中,File类用于表示文件对象,而FileInputStream类用于读文件的数据流。
下面是一个简单的文件读取的示例代码,读取指定路径下的txt文件:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class FileReader {
public static void main(String[] args) {
try {
File file = new File("example.txt");
FileInputStream fis = new FileInputStream(file);
int length = fis.available();
byte[] buffer = new byte[length];
fis.read(buffer);
System.out.println(new String(buffer));
fis.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
在这个例子中,我们首先创建了一个File
对象,然后通过这个对象创建了一个FileInputStream
对象。接着,我们使用available()
方法获取了文件的长度,然后创建了一个字节数组作为缓冲区。
最后,我们使用read(buffer)
方法将文件的内容读取到缓冲区中,并使用String(byte[])
构造函数将缓冲区中的字节转换为字符串,从而输出了文件的内容。
文件写入
Java中可以通过File类和FileOutputStream类来实现文件写入。其中,File类用于表示文件对象,而FileOutputStream类用于写文件的数据流。
下面是一个简单的文件写入的示例代码,将指定字符串写入到指定路径下的txt文件:
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class FileWriter {
public static void main(String[] args) {
try {
String content = "Hello, World!";
File file = new File("example.txt");
FileOutputStream fos = new FileOutputStream(file);
fos.write(content.getBytes());
fos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
在这个例子中,我们首先创建了一个字符串作为文件内容,然后创建了一个File
对象,最后通过这个对象创建了一个FileOutputStream
对象。
接着,我们使用write(byte[])
方法将字符串的字节表示写入到文件中。
文件压缩
Java中可以通过ZipOutputStream类来实现文件压缩。ZipOutputStream类是OutputStream的一种子类,可以将数据压缩成ZIP格式。
下面是一个简单的文件压缩的示例代码,将指定路径下的两个txt文件压缩成一个zip文件:
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
public class FileCompressor {
public static void main(String[] args) {
try {
FileOutputStream fos = new FileOutputStream("example.zip");
ZipOutputStream zos = new ZipOutputStream(fos);
zipFile("example1.txt", zos);
zipFile("example2.txt", zos);
zos.closeEntry();
zos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
private static void zipFile(String fileName, ZipOutputStream zos) throws IOException {
FileInputStream fis = new FileInputStream(fileName);
ZipEntry zipEntry = new ZipEntry(fileName);
zos.putNextEntry(zipEntry);
byte[] bytes = new byte[1024];
int length;
while ((length = fis.read(bytes)) >= 0) {
zos.write(bytes, 0, length);
}
fis.close();
}
}
在这个例子中,我们首先创建了一个ZipOutputStream
对象,并向其中写入两个文件。首先,我们调用了putNextEntry(ZipEntry)
方法创建了一个ZipEntry
对象,并将其作为参数传递给这个方法,表示我们要开始写入一个新的压缩文件。然后,我们读取文件的内容,并将其写入到压缩流中。
最后,我们再次调用了closeEntry()
方法,表示该文件写入结束。最后,我们调用了close()
方法关闭了压缩流。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java实现文件读写与压缩实例 - Python技术站