1. 文件复制,使用io中的输入流和输出流进行文件的读取和写入,实现文件的复制
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Scanner;
public class test1 {
public static void main(String arg[]){
try{
Scanner input=new Scanner(System.in);
System.out.println("输入要复制的文件路径");
//创建文件对象
File inputFile =new File(input.next());
//判断文件路径是否存在,如果不存在,退出程序
if(!inputFile.exists()){
System.out.println("源文件不存在,程序停止");
System.exit(1);
}
System.out.println("输入复制文件的文件路径");
File outputFile = new File(input.next());
//判断文件路径是否存在,如果不存在,退出程序
if(!outputFile.exists()){
System.out.println("目标文件不存在,程序停止");
System.exit(1);
}
//创建输入流对象
InputStream in = new FileInputStream(inputFile);
//创建输入流对象
OutputStream out=new FileOutputStream(outputFile);
//创建一个byte数组
byte date[] = new byte[1024];
int temp=0;
//判断如果读取字节没有打到末尾,则继续读取,知道打到末尾退出(in.read()==-1时)。
while((temp =in.read(date))!=-1){
//写入输出流文件
out.write(date);
}
//关闭输入流
in.close();
//关闭输出流
out.close();
}catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
运行代码,成功实现文件复制
2.统计某一目录下文件中出现的字母个数,数字个数,空格个数以及行数
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.Scanner;
public class test2 {
public static void main(String arg[]){
Scanner input=new Scanner(System.in);
System.out.println("输入要查询的文件路径");
String fileName=input.next();
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){
//将数据转换为数组,toCharArray()方法
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 (Exception e) {
// TODO: handle exception
}
}
}
3. 3种方法读取文件
1:
try{
//创建缓冲流
BufferedReader br= new BufferedReader(new FileReader(new File("读取文件的路径")));
StringBuffer bd=new StringBuffer();
while(true){
String str=br.readLine();
if(str==null){
break;
}
System.out.println(str);
bd.append(str);//append拼接
}
br.close();
}catch(Exception e){
}
2:
InputStream is =new FileInputStream(new File("文件路径"));
byte b[] = new byte[Integer.parseInt(new File("d:\\1.xls").length()+"")];
is.read(b);
System.out.write(b);
System.out.println();
is.close();
3:
Reader r = new FileReader(new File("文件路径"));
char c[] = new char[(int) new File("d:\\1.xls").length()];
r.read(c);
String str=new Sting(c);
r.close();
4. 3中方法写入文件
1.
PrintWriter pw = new PrintWriter(new FileWriter("d:\\1.txt"));
pw.write("aaaaa");
2.
BufferedWriter bw = new BufferedWriter(new FileWriter(new File("文件路径")));
bw.write("aaaddddd");
3.
OutputStream os = new FileOutputStream(new File("文件路径"));
os.write();
|