文件的操作,本程序中共包含三个处理方法分别是FILEOUTPUT(读取文件) FILEINPUT(输入文件) 和 CREATEFILE(创建文件)以及DEALFILE(文件的删除和查询)
其中包括一些方法 取路径 取输入数据
package FILE1;
import java.io.*;
import java.util.Scanner;
public class FILE2 {
public static void main(String[] args) {
JMSHOW();
}
public static String LUJING() //路径选择
{
String str=null;
System.out.println("请输入你要使用的路径");
Scanner scanner=new Scanner(System.in);
str=scanner.next();
return str;
}
public static voidJMSHOW() //界面显示
{
SHOW();
Scannerscanner =new Scanner(System.in);
int i= scanner.nextInt();
switch(i)
{
case 1:{CREATEFILE createfile=new CREATEFILE(LUJING()); JMSHOW();} break;//创建文件
case2:{FILEINPUT input =newFILEINPUT(LUJING()); JMSHOW();} break ; //输入文件
case 3:{FILEOUTPUT output=new FILEOUTPUT(LUJING());JMSHOW();} break; //读取文件
case 4:{DELETEFILE information=new DELETEFILE();
information.SHOW2();
}break;
case0: System.exit(0);
default :
{
System.out.println("你的输入有误,请认真阅读之后做出选择");
System.out.println();
JMSHOW();
}break;
}
}
public static void SHOW()
{
Stringstr="***************************************************";
String str1="<1>创建文件 <2>输入文件 <3>读取文件 <4>文件信息 <0>退出";
System.out.println(str);
System.out.println(str1);
System.out.println(str);
}
}
class FILEOUTPUT //读取文件
{
//private String str="d:\\sgh.txt";
FILEOUTPUT(){
System.out.println("读取文件");
}
FILEOUTPUT(String str)
{
FileInputStreamfis=null; //申明流对象
try
{
//创建流对象
fis=newFileInputStream(str);
//读取数据 并将数据存储在数组中
byte []data=new byte[1024];
int i=0; //当前下标
//读取流中的第一个字节数据
int n=fis.read();
//一次读取后续数据
while(n!=-1)
{
data[i]=(byte)n;
i++;
//读取下一个数据
n=fis.read();
}
//解析数据
String s =newString(data,0,i);
//输出字符串
System.out.println("正在输出 "+str+" 路径中的数据");
System.out.println();
System.out.println("********************************");
System.out.println(s);
System.out.println();
}
catch(Exception e)
{
e.printStackTrace();
}
finally
{
try
{
fis.close();
}
catch(Exception e)
{}
}
}
}
class FILEINPUT //输入文件
{
FILEINPUT()
{
System.out.println("文件的输入");
}
FILEINPUT(String str)
{
String str1=null;
FileOutputStream output=null;
try
{
//建立流对象
output=new FileOutputStream(str);
str1=NEIRONG(str); //提取输入内容
bytedata1[]=new byte[10240];
data1=str1.getBytes(); //将字符串转换
for(intj=0;j
{
output.write(data1[j]);
}
}
catch(Exception e)
{
e.printStackTrace();
}
finally
{
try
{
output.close();
}
catch(Exception e)
{}
}
}
public String NEIRONG(String str1) //输入的内容
{
String str;
int NUM=10240;
System.out.println("请输入 "+str1+" 路径中的数据");
Scanner scanner=new Scanner(System.in);
str=scanner.next();
System.out.println("你输入的内容是");
System.out.println(str);
return str;
}
}
class CREATEFILE //创建文件
{
CREATEFILE()
{
System.out.println("文件创建");
}
CREATEFILE(String str)
{
File file=new File(str);
if(file.exists()==false)
{
try
{
file.createNewFile();
System.out.println("创建文件成功");
}
catch(Exception e)
{
System.out.println("创建失败");
e.printStackTrace();
}
}
else
{
System.out.println("创建失败,可能是该目录下有该文件");
}
}
}
class DELETEFILE extends FILE2 //删除文件以及查看文件
{
DELETEFILE()
{
System.out.println("文件的删除和查询");
}
public static void SHOW1()
{
String str="**********************************";
System.out.println(str);
System.out.println("<1>查询文件 <2>删除文件 <3>返回上一目录 <0>退出");
System.out.println(str);
}
public static void SHOW2()
{
SHOW1();
File f=null;
Scanner scanner=new Scanner(System.in);
int i=scanner.nextInt();
if(i==3)
{
JMSHOW();
}
else
{
f=new File(LUJING());
switch(i)
{
case 1: {printlALL(f); SHOW2();}break;
case 2: { deleteALL(f);SHOW2();}break;
case 0: System.exit(0);
default: {
System.out.println("你的输入有误,请认真阅读之后做出选择");
System.out.println();
SHOW2();
}break;
}
}
}
public static void printlALL(File f)
{
//打印当前文件名
System.out.println( "文件有"+f.getName());
//是否是文件夹
if(f.isDirectory())
{
//获取该文件夹下所有子文件和子文件夹
File []f1 =f.listFiles();
int len=f1.length;
for(int i=0;i
{
printlALL(f1[i]);
}
}
}
public static void deleteALL(File f)
{
if(f.isFile())
{
f.delete();
System.out.println("删除成功");
}
else
{
File f1[]=f.listFiles();
int len=f1.length;
for(int i=0;i
{
deleteALL(f1[i]);
}
f.delete();
System.out.println("删除成功");
}
}
}
运行结果
本人水平有限,有不足之处还请见谅。