java 文件操作

一、获取文件列表

  方法一:DirFilter类实现了FilenameFilter接口,需要重写FilenamFilter中的accept方法。

 1 /**
 2  * java文件操作  获取文件列表
 3  * 2016/6/15
 4  */
 5 package fileStream;
 6
 7 import java.io.File;
 8 import java.io.FilenameFilter;
 9 import java.util.regex.*;
10 import java.util.*;
11
12 public class DirList {
13     public static void main(String[] args){
14         File path = new File("G:");
15         String[] list;
16         if(args.length == 0){
17             list = path.list();
18         }else{
19             list = path.list(new DirFilter(args[0]));
20         }
21         Arrays.sort(list, String.CASE_INSENSITIVE_ORDER);
22         for(String dirItem:list){
23             System.out.println(dirItem);
24         }
25     }
26 }
27
28 class DirFilter implements FilenameFilter {
29     private Pattern pattern;
30     public DirFilter(String regex){
31         pattern = Pattern.compile(regex);
32     }
33     @Override
34     public boolean accept(File dir, String name) {
35         return pattern.matcher(name).matches();
36     }
37 }

  方法二:使用匿名内部类

 1 /**
 2  * 获取文件列表方法2  匿名内部类
 3  * 2016/6/15
 4  */
 5 package fileStream;
 6
 7 import java.io.*;
 8 import java.util.*;
 9 import java.util.regex.*;
10
11
12 public class DirList2 {
13     public static FilenameFilter filter(final String regex){
14         return new FilenameFilter(){
15             private Pattern pattern = Pattern.compile(regex);
16             @Override
17             public boolean accept(File dir, String name){
18                 return pattern.matcher(name).matches();
19             }
20         };
21     }
22     public static void main(String[] args){
23         File path = new File("G:");
24         String[] list;
25         if(args.length == 0){
26             list = path.list();
27         }else{
28             list = path.list(new DirFilter(args[0]));
29         }
30         Arrays.sort(list, String.CASE_INSENSITIVE_ORDER);
31         for(String dirItem:list){
32             System.out.println(dirItem);
33         }
34     }
35
36 }

  方法二改进:

 1 /**
 2  * Thinking in Java
 3  * 获取文件列表  方法二改进
 4  * 2016/6/15
 5  */
 6 package fileStream;
 7
 8 import java.util.*;
 9 import java.util.regex.*;
10 import java.io.*;
11
12 public class DirList3 {
13     public static void main(final String[] args){
14         File path = new File("G:");
15         String[] list;
16         if(args.length == 0){
17             list = path.list();
18         }else{
19             list = path.list(new FilenameFilter() {
20                 private Pattern pattern = Pattern.compile(args[0]);
21                 public boolean accept(File dir, String name) {
22                     return pattern.matcher(name).matches();
23                 }
24             });
25         }
26             Arrays.sort(list, String.CASE_INSENSITIVE_ORDER);
27             for(String dirItem : list){
28                 System.out.println(dirItem);
29             }
30     }
31 }

二、文本文件的读写

 1 /**
 2  * 文本文件的读写
 3  * 2016/6/15
 4  */
 5 package fileStream;
 6
 7 import java.io.BufferedReader;
 8 import java.io.FileOutputStream;
 9 import java.io.FileReader;
10 import java.io.IOException;
11 import java.util.Scanner;
12
13
14 public class FileStream {
15     public static void main(String[] args) throws IOException{
16         //写入文件
17         FileOutputStream outFile = new FileOutputStream("E:/1.txt",true);
18         StringBuffer outText = new StringBuffer();
19         String str = null;
20         Scanner input = new Scanner(System.in);
21         byte[] writeByte = null;
22         while(true){
23             str = input.nextLine();
24             outText.append(str);
25             if(str.equals("quit")) break;
26         }
27
28         writeByte = (outText+"").getBytes();
29         outFile.write(writeByte);
30         outFile.close();
31
32         //读取文件
33         BufferedReader  reader = new BufferedReader(new FileReader("E:/1.txt"));
34         String text = null;
35         while((text = reader.readLine()) != null){
36             System.out.println(text);
37         }
38         reader.close();
39     }
40 }

时间: 2024-10-09 20:55:07

java 文件操作的相关文章

java文件操作之FileWriter用法,向文件尾插入内容

原文:java文件操作之FileWriter用法,向文件尾插入内容 代码下载地址:http://www.zuidaima.com/share/1550463258610688.htm 向文件尾插入内容,通过FileWriter来实现,只要在构造时设置append=true即可. FileWriter fileWritter = new FileWriter(file.getName(), true);代码运行之后,文件生成在项目的根目录下. 标签: 文件 java FileWriter 插入话题

java文件操作之移动文件到指定的目录

原文:java文件操作之移动文件到指定的目录 代码下载地址:http://www.zuidaima.com/share/1550463261166592.htm java文件操作之移动文件到指定的目录,通过renameTo方法实现,而非copy后delete package com.zuidaima.util.file; import java.io.File; /** * 移动文件到指定的目录 * * @author www.zuidaima.com * */ public class Mov

Java文件操作系列[2]——使用JXL操作Excel文件

由于java流无法实现对Excel文件的读写操作,因此在项目中经常利用第三方开源的组件来实现.支持Excel文件操作的第三方开源组件主要有Apache的POI和开源社区的JXL. 总体来说,二者的区别是:JXL较为轻量级,如果是对Excel文件的简单操作,建议使用JXL:POI的功能相当强大,但同时处理问题也相当的繁琐. 1.准备工作 [必需]下载JXL的jar包:jxl.jar [非必需]JXL API  (提取密码:zgqj) 2.一些必要的说明 主要是对Excel结构的说明: Excel后

Java文件操作大全

1 //1.创建文件夹 2 //import java.io.*; 3 File myFolderPath = new File(str1); 4 try { 5 if (!myFolderPath.exists()) { 6 myFolderPath.mkdir(); 7 } 8 } 9 catch (Exception e) { 10 System.out.println("新建目录操作出错"); 11 e.printStackTrace(); 12 } 13 14 //2.创建文

3.Java文件操作

概述 1.File类 字段摘要 构造方法 概述 1. File类 2. IO流的原理以及概念 3. IO流的体系 4. 字节流和字符流 5. 处理流 6. 文件拷贝 7. 文件分割与合并 1.File类 File类是文件和目录路径名的抽象形式.一个File对象可以代表一个文件或目录,但是不是完全对应的. File类对象主要用来获取文件本身的一些信息.目的在于:建立java程序和文件(文件夹)之间的联系.以便java程序对文件操作. 字段摘要 以下四种字段均与系统有关,主要是用来动态的书写路径,其

java文件操作

11.3 I/O类使用 由于在IO操作中,需要使用的数据源有很多,作为一个IO技术的初学者,从读写文件开始学习IO技术是一个比较好的选择.因为文件是一种常见的数据源,而且读写文件也是程序员进行IO编程的一个基本能力.本章IO类的使用就从读写文件开始. 11.3.1 文件操作 文件(File)是 最常见的数据源之一,在程序中经常需要将数据存储到文件中,例如图片文件.声音文件等数据文件,也经常需要根据需要从指定的文件中进行数据的读取.当然, 在实际使用时,文件都包含一个的格式,这个格式需要程序员根据

java文件操作(IO流)

一.引言 由于在IO操作中,需要使用的数据源有很多,作为一个IO技术的初学者,从读写文件开始学习IO技术是一个比较好的选择.因为文件是一种常见的数据源,而且读写文件也是程序员进行IO编程的一个基本能力.本章IO类的使用就从读写文件开始. 文件操作 文件(File)是 最常见的数据源之一,在程序中经常需要将数据存储到文件中,例如图片文件.声音文件等数据文件,也经常需要根据需要从指定的文件中进行数据的读取.当然, 在实际使用时,文件都包含一个的格式,这个格式需要程序员根据需要进行设计,读取已有的文件

Java 文件操作-File

1.File文件操作 java.io.File用于表示文件(目录),也就是说程序员可以通过File类在程序中操作硬盘上的文件和目录.File类只用于表示文件(目录)的信息(名称.大小等),不能对文件的内容进行访问. 1)构造方法      构造方法一:File(String pathname) 通过将给定路径名字符串转换成抽象路径名来创建一个新File实例 抽象路径应尽量使用相对路径,并且目录的层级分隔符不要直接写"/"或"\",因为不同的系统用的分隔符不一样,应该

Java文件操作源码大全

1.创建文件夹 52.创建文件 53.删除文件 54.删除文件夹 65.删除一个文件下夹所有的文件夹 76.清空文件夹 87.读取文件 88.写入文件 99.写入随机文件 910.读取文件属性 911.写入属性 1012.枚举一个文件夹中的所有文件 1013.复制文件夹 1114.复制一个目录下所有的文件夹到另一个文件夹下 1215.移动文件夹 1316.移动一个目录下所有的文件夹到另一个目录下 1517.以一个文件夹的框架在另一个目录创建文件夹和空文件 1618.复制文件 1719.复制一个目