java IO文件操作简单基础入门例子,IO流其实没那么难
IO是JAVASE中非常重要的一块,是面向对象的完美体现,深入学习IO,你将可以领略到很多面向对象的思想。
今天整理了一份适合初学者学习的简单例子,让大家可以更深刻的理解IO流的具体操作。
1、文件拷贝
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读文件:实现统计某一目录下每个文件中出现的字母个数、数字个数、空格个数及行数,除此之外没有其他字符
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”出现的次数
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、 三种方法读取文件
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、三种方法写文件
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型数组中
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 IO,io,文件操作,删除文件,删除文件夹,获取文件父级目录
Java IO,io,文件操作,删除文件,删除文件夹,获取文件父级目录 这里先简单的贴下常用的方法: File.separator //当前系统文件分隔符 File.pathSeparator // ...
- java常见文件操作
收集整理的java常见文件操作,方便平时使用: //1.创建文件夹 //import java.io.*; File myFolderPath = new File(str1); try { if ( ...
- (Unity)XML文件读写与IO文件操作类使用介绍
using System.Xml; //xml文件操作命名空间 #region 写入操作 void WriteXMLFile(string _fileName) { Xm ...
- Java api 入门教程 之 JAVA的文件操作
I/O类使用 由于在IO操作中,需要使用的数据源有很多,作为一个IO技术的初学者,从读写文件开始学习IO技术是一个比较好的选择.因为文件是一种常见的数据源,而且读写文件也是程序员进行IO编程的一个基本 ...
- 【java】文件操作java.io.File
package 文件操作; import java.io.File; import java.io.IOException; public class TestFile { public static ...
- Java学习之==>IO文件操作体系
一.概述 在整个 Java.io 中最重要的就是5个类和一个接口.5个类指的是 File.InputStream.OutputStream.Reader.Writer,一个接口指的是Serializa ...
- 14、Java文件操作stream、File、IO
1.文件操作涉及到的基本概念 File File类 是文件操作的主要对象中文意义就是 文件 顾名思意 万物皆文件,在计算上看到的所有东西都是文件保存,不管是你的图片.视频.数据库数据等等都是按照基本的 ...
- Java 基本文件操作
Java 文件操作 , 这也是基于Java API 操作来实现的. 文件是操作系统管理外存数据管理的基本单位, 几乎所有的操作系统都有文件管理机制. 所谓文件, 是具有符号名而且在逻辑上具有完整意义的 ...
- java的文件操作类File
java.io.File类,是java获取文件/文件夹的所有属性,和完成所有相关操作的类 例子: package test.file.IO; import java.io.*; public clas ...
随机推荐
- 【lucene系列学习四】log4j日志文件实现多线程的测试
参考资料:http://nudtgk2000.iteye.com/blog/1716379 首先,在http://www.apache.org/dyn/closer.cgi/logging/log4j ...
- 手把手教做单点登录(SSO)系列之一:概述与示例
本系列将由浅入深的结合示例.源码以及演示视频,手把手的带大家深入最新的单点登录SSO方案选型与架构开发实战.文末附5个满足不同单点登录场景的gif动画演示(如果看不清请在图片上右键用新窗口打开),本系 ...
- 谷歌统计使用代码部署和事件API使用
谷歌统计代码部署和API使用 1.注册谷歌账号 要使用GA,必需先成为GOOGLE的注册用户,如果没有请去注册.当然,你有GMAIL邮箱就可以.邮箱就是帐户名. 2.开启Google Analytic ...
- Viewpager结合fragment实现底部导航
具体实现如下: FindFragment.java package fbtt.com.fbtt.fragment; import android.os.Bundle; import android.s ...
- SSH免密码(日志三)
上一篇:JDK安装以及安装过程中出现的问题(日志二) 原理,就是RSA加密,含有公钥和私钥,具体言之,用公钥来确认请求人是否是私钥的持有人. 1, 2, 3, 4, ssh免密码过程中遇到的问题:需要 ...
- 算法问题:最长滑道问题(非递归,C++)
题目描述请参考博客http://blog.csdn.net/sinat_30186009/article/details/52356053,在此表示感谢. 基本思路参考了以上文章,但是上面文章中的算法 ...
- php学习之重要内置函数
1. require_once()函数 此函数在脚本执行期间包含并执行指定的文件,与require语句类似,唯一区别是如果该文件中的代码已经被包含了,则不会再次包含. require_once()函数 ...
- 关于java和c++中的i++
看到一个题目,大概是i=i++之类. 乍一看很简单,都知道i++的先参与计算再自增, 所以i不变. 但是仔细一想, 如果i不变, 那么在赋值之后, 自增的i, 增加的是谁呢? 逻辑顺序是怎样的呢? / ...
- 看透SpringMVC源代码分析与实践 Markdown记录
kantouspringmvc 看透SpringMVC中文版电子书,使用Markdown语法记录学习<看透SpringMVC>的内容,方便自己整理知识,并在原作者写作的基础上添加自己的理解 ...
- Ubuntu16.04 安装flash player
sudo apt-get install browser-plugin-freshplayer-pepperflash