java IO文件操作入门经典例子

IO是JAVASE中非常重要的一块,是面向对象的完美体现,深入学习IO,你将可以领略到很多面向对象的思想。
在公司没活干,复习了一下IO,发现很多都忘记了,所以写的不好,只够初学用。我把我复习过程中写的代码贴出来,大家共同学习,并请多指教指教哈。顺便一起讨论IO
1、文件拷贝

Java code?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
try  {
             File inputFile =  new  File(args[ 0 ]);
             if  (!inputFile.exists()) {
                 System.out.println( "源文件不存在,程序终止" );
                 System.exit( 1 );
             }
             File outputFile =  new  File(args[ 1 ]);
             InputStream in =  new  FileInputStream(inputFile);
             OutputStream out =  new  FileOutputStream(outputFile);
 
             byte  date[] =  new  byte [ 1024 ];
             int  temp =  0 ;
             while  ((temp = in.read(date)) != - 1 ) {
                 out.write(date);
             }
 
             in.close();
             out.close();
         catch  (FileNotFoundException e) {
             // TODO Auto-generated catch block
             e.printStackTrace();
         catch  (IOException e) {
             // TODO Auto-generated catch block
             e.printStackTrace();
         }



2、java读文件:实现统计某一目录下每个文件中出现的字母个数、数字个数、空格个数及行数,除此之外没有其他字符

Java code?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
  String fileName =  "D:/date.java.bak" ;
         // String fileName = "D:/test.qqq";
         String line;
         int  i =  0 , j =  0 , f =  0 , k =  0 ;
         try  {
             BufferedReader in =  new  BufferedReader( new  FileReader(fileName));
             line = in.readLine();
             while  (line !=  null ) {
                 // System.out.println(line);
                 char  c[] = line.toCharArray();
                 for  ( int  i1 =  0 ; i1 < c.length; i1++) {
                     // 如果是字母
                     if  (Character.isLetter(c[i1]))
                         i++;
                     // 如果是数字
                     else  if  (Character.isDigit(c[i1]))
                         j++;
                     // 是空格
                     else  if  (Character.isWhitespace(c[i1]))
                         f++;
                 }
                 line = in.readLine();
                 k++;
             }
             in.close();
             System.out
                     .println( "字母:"  + i +  ",数字:"  + j +  ",空格:"  + f +  ",行数:"  + k);
         catch  (IOException e) {
             e.printStackTrace();
         }


3、 从文件(d:\test.txt)中查出字符串”aa”出现的次数

Java code?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
try  {
             BufferedReader br =  new  BufferedReader( new  FileReader(
                     "D:\\test.txt" ));
             StringBuilder sb =  new  StringBuilder();
             while  ( true ) {
                 String str = br.readLine();
                 if  (str ==  null )
                     break ;
                 sb.append(str);
             }
             Pattern p = Pattern.compile( "aa" );
             Matcher m = p.matcher(sb);
             int  count =  0 ;
             while  (m.find()) {
                 count++;
             }
             System.out.println( "\"aa\"一共出现了"  + count +  "次" );
         catch  (FileNotFoundException e) {
             e.printStackTrace();
         catch  (IOException e) {
             e.printStackTrace();
         }


4、 三种方法读取文件

Java code?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
  try  {
             // 方法一
             BufferedReader br =  new  BufferedReader( new  FileReader( new  File(
                     "D:\\1.xls" )));
             // StringBuilder bd = new StringBuilder();
             StringBuffer bd =  new  StringBuffer();
             while  ( true ) {
                 String str = br.readLine();
                 if  (str ==  null ) {
                     break ;
                 }
                 System.out.println(str);
                 bd.append(str);
             }
 
             br.close();
             // System.out.println(bd.toString());
 
             // 方法二
             InputStream is =  new  FileInputStream( new  File( "d:\\1.xls" ));
             byte  b[] =  new  byte [Integer.parseInt( new  File( "d:\\1.xls" ).length()
                     "" )];
             is.read(b);
             System.out.write(b);
             System.out.println();
             is.close();
 
             // 方法三
             Reader r =  new  FileReader( new  File( "d:\\1.xls" ));
             char  c[] =  new  char [( int new  File( "d:\\1.xls" ).length()];
             r.read(c);
             String str =  new  String(c);
             System.out.print(str);
             r.close();
 
         catch  (RuntimeException e) {
             // TODO Auto-generated catch block
             e.printStackTrace();
         catch  (FileNotFoundException e) {
             // TODO Auto-generated catch block
             e.printStackTrace();
         catch  (IOException e) {
             // TODO Auto-generated catch block
             e.printStackTrace();
         }


5、三种方法写文件

Java code?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
  try  {
             PrintWriter pw =  new  PrintWriter( new  FileWriter( "d:\\1.txt" ));
             BufferedWriter bw =  new  BufferedWriter( new  FileWriter( new  File(
                     "d:\\1.txt" )));
             OutputStream os =  new  FileOutputStream( new  File( "d:\\1.txt" ));
             // 1
             os.write( "ffff" .getBytes());
             // 2
             // bw.write("ddddddddddddddddddddddddd");
             // 3
             // pw.print("你好sssssssssssss");
 
             bw.close();
             pw.close();
             os.close();
         catch  (IOException e) {
             // TODO Auto-generated catch block
             e.printStackTrace();
         }


6、读取文件,并把读取的每一行存入double型数组中

Java code?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
try  {
             BufferedReader br =  new  BufferedReader( new  FileReader( new  File(
                     "d:\\2.txt" )));
             StringBuffer sb =  new  StringBuffer();
             while  ( true ) {
                 String str = br.readLine();
                 if  (str ==  null ) {
                     break ;
                 }
                 sb.append(str +  "、" );
             }
 
             String str = sb.toString();
             String s[] = str.split( "、" );
             double  d[] =  new  double [s.length];
             for  ( int  i =  0 ; i < s.length; i++) {
                 d[i] = Double.parseDouble(s[i]);
             }
             for  ( int  i =  0 ; i < d.length; i++) {
                 System.out.println(d[i]);
             }
             br.close();
         catch  (FileNotFoundException e) {
             // TODO Auto-generated catch block
             e.printStackTrace();
         catch  (IOException e) {
             // TODO Auto-generated catch block
             e.printStackTrace();
         }


你可能感兴趣的:(java IO文件操作入门经典例子)