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 ...
随机推荐
- PHP 学习笔记(2)
<?php$foo = "0"; // $foo 是字符串 (ASCII 48)$foo += 2; // $foo 现在是一个整数 (2)$foo = $foo + ...
- [angularjs] MVC + Web API + AngularJs 搭建简单的 CURD 框架
MVC + Web API + AngularJs 搭建简单的 CURD 框架 GitHub 地址:https://github.com/liqingwen2015/Wen.MvcSinglePage ...
- JQuery使用mousedown和mouseup简单判断鼠标按下与释放位置是否相同
在JQuery中,我们可以利用mousedown.mouseup来跟踪页面的鼠标按下与释放事件. 如何获取鼠标的位置信息呢?事件event的pageX和pageY属性可以让我们获得鼠标在页面中的具体位 ...
- CentOS编译安装emacs并配置
Liunxs中CentOS系列一向以稳定为目标,然而也会存在版本太旧的问题,emacs就是其中的一个,目前emacs都发行到25.2了,而CentOS上的emacs版本却还是23.1.所以需要下载源代 ...
- AOJ/树二叉搜索树习题集
ALDS1_7_A-RootedTree. Description: A graph G = (V, E) is a data structure where V is a finite set of ...
- JDBC连接错误(Illegal mix of collations。。。)
连接java和mysql时出现了这样的报错: java.sql.SQLException: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) ...
- OC中@class的使用
作用: 可以简单地引用一个类简单使用@class Dog; //类的引入 #import "Dog.h"仅仅是告诉编译器:Dog是一个类;并不会包含Dog这个类的所有内容 具体使用 ...
- Day2-文件操作
文件操作流程: 1.打开文件,得到文件句柄并赋值给一个变量: 2.通过句柄对文件进行操作: 3.关闭文件 ################################33 1.打开文件方法: a. ...
- Java中 EvenQueue.invokeLater用法
在Java中Swing是线程不安全的,是单线程的设计,这样的造成结果就是:只能从事件派发线程访问将要在屏幕上绘制的Swing组件.事件派发线程是调用paint和update等回调方法的线程,它还是事件 ...
- Flight学习(一)
翻看git时看到有新消息提示,点进去第一个就是Flight,那么今天就简单来翻译和了解一下这个框架吧,锻炼下自己的英文文档阅读能力,同时也熟悉下JavaScript.时间太赶,难免出现翻译失误和错误, ...