IO流操作文件总结
拷贝文件
package com.cloud.day1;
import Java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class Demo1 {
public static void main(String[] args) {
try {
File inputFile = new File("E:/baidu.html");
if(!inputFile.exists()){
System.out.println("源文件不存在!");
System.exit(1);
}
File outputFile = new File("E:/test.html");
FileInputStream inputStream = new FileInputStream(inputFile);
FileOutputStream outputStream = new FileOutputStream(outputFile);
byte data[]=new byte[1024];
int temp = 0;
while((temp=inputStream.read(data))!=-1){
outputStream.write(data);
}
inputStream.close();
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
文件内容查找
package com.cloud.day1;
import java.io.BufferedReader;
import java.io.FileReader;
public class Demo2 {
public static void main(String[] args) {
String fileName = "E:/test.txt";
String line;
int num=0,space=0,str=0;
try {
BufferedReader reader = new BufferedReader(new FileReader(fileName));
while((line=reader.readLine())!=null){
char[] ch = line.toCharArray();
for(int i=0;i<ch.length;i++){
if(Character.isLetter(ch[i])){
str++;
}else if(Character.isWhitespace(ch[i])){
space++;
}else if(Character.isDigit(ch[i])){
num++;
}
}
}
reader.close();
System.out.println("num="+num+";space="+space+";str="+str);
} catch (Exception e) {
e.printStackTrace();
}
}
}
文件内容搜索
package com.cloud.day1;
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Demo3 {
public static void main(String[] args) {
try {
StringBuffer stringBuffer = new StringBuffer();
BufferedReader reader = new BufferedReader(new FileReader("E:/test.txt"));
while(true){
String str = reader.readLine();
if(str==null){break;}
stringBuffer.append(str);
}
Pattern p = Pattern.compile("he");
Matcher m = p.matcher(stringBuffer);
int count = 0;
while(m.find()){
count++;
}
System.out.println("count="+count);
} catch (Exception e) {
e.printStackTrace();
}
}
}
文件读取方式
package com.cloud.day1;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.InputStream;
import java.io.Reader;
/**
* 文件读取的三种方式
*/
public class Demo4 {
public static void main(String[] args) {
try {
File file = new File("E:/test.txt");
//第一种读取方式
InputStream inputStream = new FileInputStream(file);
byte[] b = new byte[Integer.parseInt(file.length()+"")];
inputStream.read(b);
inputStream.close();
System.out.println("b="+b);
//第二种读取方式
Reader reader = new FileReader(file);
char[] r = new char[(int)file.length()];
reader.read(r);
System.out.println(new String(r));
r.clone();
//第三种读取方式
BufferedReader bufferedReader = new BufferedReader(new FileReader("E:/test.txt"));
StringBuffer buffer = new StringBuffer();
String str;
while(true){
str = bufferedReader.readLine();
if(str==null){break;}
buffer.append(str);
}
System.out.println(buffer);
bufferedReader.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
文件写入方式
package com.cloud.day1;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.OutputStream;
import java.io.PrintWriter;
public class Demo5 {
public static void main(String[] args) {
try {
File file = new File("E:/test.txt");
OutputStream outputStream = new FileOutputStream(file);
BufferedWriter writer = new BufferedWriter(new FileWriter(file));
PrintWriter printWriter = new PrintWriter(file);
//方式一
outputStream.write("hello".getBytes());
//方式二
writer.write("AnHui");
//方式三
printWriter.write("Hello,AnHui");
printWriter.close();
writer.close();
outputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
边读边写
package com.cloud.day1;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
public class Demo6 {
public static void main(String[] args) {
try{
File inputfile = new File("E:/test.txt");
File outputfile = new File("E:/test1.txt");
BufferedReader bufferedReader = new BufferedReader(new FileReader(inputfile));
BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(outputfile));
String str = null;
while((str=bufferedReader.readLine())!=null){
bufferedWriter.write(str);
}
bufferedWriter.close();
bufferedReader.close();
} catch(Exception e){
e.printStackTrace();
}
}
}