Java文件函数的使用:如何使用Java文件函数读写文件
发布时间:2023-06-04 13:23:52
Java文件函数是指Java语言中用于读写文件的函数,其常用的文件操作功能包括文件读写、文件复制、文件夹遍历、文件压缩等。在Java中,文件操作也是开发中常见的场景,因此了解Java文件函数的使用非常必要。
Java文件函数的使用
1.文件读取
在Java中,使用FileReader来读取文件内容,使用FileWriter来写入文件内容。示例代码如下:
try{
FileReader fr=new FileReader("test.txt");//创建字符读入流对象
char c[]=new char[1024];
int len=fr.read( c );//将读到的数据保存到字符数组中,len代表读入数据的长度
System.out.println(new String( c , 0 , len ));//将读入的数据转换成字符串并输出
fr.close();
} catch (Exception e) {
e.printStackTrace();
}
2.文件写入
Java中使用FileWriter类来写入文件,示例代码如下:
try {
FileWriter fw = new FileWriter("test.txt");//创建字符写入流对象
String info="这是写入的文件内容";//要写入的内容
fw.write(info);//将内容写入文件
fw.close();//关闭文件流
} catch (Exception e) {
e.printStackTrace();
}
3.文件复制
通过Java文件函数的使用,我们可以实现文件复制功能,示例代码如下:
try {
FileInputStream fis= new FileInputStream("test1.txt");//创建读入流对象
FileOutputStream fos= new FileOutputStream("test2.txt");//创建写入流对象
byte[] buf = new byte[1024];//创建缓存数组
int readByte ;
while ((readByte = fis.read(buf)) != -1) {//循环读取文件内容
fos.write(buf, 0, readByte);//将读入的数据写入文件
}
fis.close();
fos.close();//关闭流对象
} catch (Exception e) {
e.printStackTrace();
}
4.文件夹遍历
Java文件函数还可以实现文件夹的遍历,示例代码如下:
public void listFile(File dir) {//定义方法
if (dir.exists()) {
if (dir.isDirectory()) {
File[] files = dir.listFiles();
for (int i = 0; i < files.length; i++) {
File file = files[i];
listFile(file);//递归调用
}
} else {
System.out.println(dir.getAbsolutePath());//文件夹种的文件进行输出
}
} else {
System.out.println("文件夹不存在");
}
}
5.文件压缩
通过Java的文件函数,我们还可以实现文件的压缩功能,示例代码如下:
try {
FileOutputStream fos= new FileOutputStream("test.zip");//创建压缩文件输出流对象
ZipOutputStream zos = new ZipOutputStream(fos);//创建Zip输出流对象
File file = new File("test");//需要压缩的文件夹
String basePath= file.getName() ;
compress(file,zos,basePath);//调用压缩方法
fos.close();
zos.close();//关闭流对象
} catch (Exception e) {
e.printStackTrace();
}
private static void compress(File source, ZipOutputStream zos, String basePath) throws Exception {
if (source.isDirectory()) {//如果是文件夹
File[] files = source.listFiles();
if (files.length == 0) {//空文件夹
String zipName= basePath + File.separator + source.getName() + File.separator;
zos.putNextEntry(new ZipEntry(zipName));
zos.closeEntry();
} else {//非空文件夹
for (File file : files) {
String filePath = file.getName();
if (!basePath.equals("")) {
filePath = basePath + File.separator + filePath;
}
compress(file, zos, filePath);//递归压缩
}
}
} else {//如果是文件
String zipName = basePath +File.separator+ source.getName();
zos.putNextEntry(new ZipEntry(zipName));//打入文件标记
FileInputStream fis = new FileInputStream(source);//创建文件读取流对象
byte[] b = new byte[1024 * 10];//定义读取缓存
int len;
while ((len = fis.read(b)) != -1) {//将文件内容写入Zip输出流
zos.write(b, 0, len);
}
zos.closeEntry();//关闭压缩条目
fis.close();//关闭文件读取流
}
}
以上就是使用Java文件函数读写文件的方法和示例代码,开发者可以根据实际需要来选择相关的文件操作函数,以实现所需的应用程序功能。
