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 ...
随机推荐
- MySQL注射的过滤绕过技巧
SQL注射的绕过技巧较多,此文仅做一些简单的总结. 最好利用的注射点: 支持Union 可报错 支持多行执行.可执行系统命令.可HTTP Request等额外有利条件 若非以上类型,则可能需要暴力猜解 ...
- [ABP实战开源项目]--YoYoCms目录
ABP是"ASP.NET Boilerplate Project (ASP.NET样板项目)"的简称. ASP.NET Boilerplate是一个用最佳实践和流行技术开发现代WE ...
- JavaScript ,Python,java,Go系列算法之选择排序
常见的内部排序算法有:插入排序.希尔排序.选择排序.冒泡排序.归并排序.快速排序.堆排序.基数排序等. 用一张图概括: 选择排序 选择排序是一种简单直观的排序算法,无论什么数据进去都是O(n2) ...
- jQuery中的选择器(上)
从学习jquery开始,现在已经是第三遍看锋利的jQuery这本书了,现在打算对jQuery中的各种选择器进行一下总结,主要是是为了进一步系统的巩固自己对知识的掌握,另外也可以为那些学习jQuery并 ...
- 如何实现在Windows上运行Linux程序,附示例代码
微软在去年发布了Bash On Windows, 这项技术允许在Windows上运行Linux程序, 我相信已经有很多文章解释过Bash On Windows的原理, 而今天的这篇文章将会讲解如何自己 ...
- IE6.0升级的两种通用代码
随着W3C组织开始针对新的Web标准提案日期的到来,HTML5以及CSS3的新时代即将到来,同时微软的Win8以及IE10的出现也带给了这个世界奇妙的结构. 微软早在不再给WinXP做技术支持时,IE ...
- Window7 下 WNMP 环境搭建
WNMP 指"Windows 下的 Nginx.MariaDB/MySQL 和 PHP 环境". 下载 Nginx:http://nginx.org/en/download.htm ...
- jQ实现的一个轮播图
众所周知,轮播图是被广泛的运用的. 轮播图我们在很多的网站上都可以看到,例如淘宝.京东这些网站都很常见. 下面开始我们的轮播之旅: 搭建我们的骨架: <!DOCTYPE html> < ...
- 关于c#邮件发送的简单例子
这里所说的发送邮件,以发送qq邮件为例. 首先我们先要在自己的邮箱配置好如下选项:
- R语言的高质量图形渲染库Cairo(转)
前言 R语言不仅在统计分析,数据挖掘领域,计算能力强大.在数据可视化上,也不逊于昂贵的商业.当然,背后离不开各种开源软件包的支持,Cairo就是这样一个用于矢量图形处理的类库. Cairo可以创建高质 ...