java io 操作
2012-04-09 15:51
239 查看
IO是JAVASE中非常重要的一块,是面向对象的完美体现,深入学习IO,你将可以领略到很多面向对象的思想。
在公司没活干,复习了一下IO,发现很多都忘记了,所以写的不好,只够初学用。我把我复习过程中写的代码贴出来,大家共同学习,并请多指教指教哈。顺便一起讨论IO
1、文件拷贝
Java code
2、java读文件:实现统计某一目录下每个文件中出现的字母个数、数字个数、空格个数及行数,除此之外没有其他字符
Java code
3、 从文件(d:\test.txt)中查出字符串”aa”出现的次数
Java code
4、 三种方法读取文件
Java code
5、三种方法写文件
Java code
6、读取文件,并把读取的每一行存入double型数组中
Java code
在公司没活干,复习了一下IO,发现很多都忘记了,所以写的不好,只够初学用。我把我复习过程中写的代码贴出来,大家共同学习,并请多指教指教哈。顺便一起讨论IO
1、文件拷贝
Java code
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
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
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
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
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
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:基于字节的IO操作
- java基础—java的Io操作学习(1)
- Java中IO的相关操作——过滤流和包装类
- java中的Io(input与output)操作总结(二)
- JAVA常用IO操作(转)
- java IO操作:FileInputStream,FileOutputStream,FileReader,FileWriter实例
- JAVA的IO操作:内存操作流
- 黑马程序员——Java基础----IO(字节流、操作规律等)(2)
- java IO操作
- Java的IO操作
- java IO 文件操作
- Java的各种IO操作总结
- Java IO——文件操作
- 黑马程序员——Java基础---IO(一)---IO流概述、字符流、字节流、流操作规律
- javaIO——内存操作流
- Java IO操作之File类
- IO操作 通过缓冲区复制一个.java文件
- java打字系统模拟打字练习采用JFrame+IO文件操作+线程源码
- JAVA IO操作
- 谈谈Java的IO操作