/**
* 2. 写出一个方法,给定一个路径,判断路径是否是一个文件,
* 如果是文件,则把该文件的绝对路径输入到该文件中;
* 如果是文件夹,则在该文件夹内创建一个与文件夹名相同的txt文件,比如如果文件夹名为a,则在a文件夹下创建一个a.txt文件,
* 并在a.txt中输入a.txt的绝对路径。
* @param filepath
*/
public static void testFile(String filepath){
File file = new File(filepath);
try{
if(!file.exists()){//判断文件是否存在,不存在往下走
//判断目录是否存在,不存在往下走
if(!file.isDirectory()){
String[] a =filepath.split("\\\\");//split方法通过“\\”分割字符成数组
String path ="";
//判断后缀名是否是文本文件类型,拼接处文本所在文件夹路径
if(filepath.substring(filepath.length()-4).equals(".txt")){
for(int i =0;i<a.length-1;i++){
path = path + a[i]+"\\\\";
}
path = path.substring(0, path.length()-2);
File file1 = new File(path);
file1.mkdirs();//根据所获得的文件夹路径创建文件夹
}else{
file.mkdirs();//如果没有后缀名,直接根据传入的目录结构创建文件夹
}
file.createNewFile();
}
}
if(file.isFile()){//如果是文件,将路径写入文件中
OutputStreamWriter s = new OutputStreamWriter(new FileOutputStream(file));
os.write(file.getAbsolutePath());
os.flush();
os.close();
}else{//如果不是文件,创建文件,并将路径写入文件
File f = new File(file.getAbsoluteFile() + "/" + file.getName() + ".txt");
if(f.createNewFile()){
OutputStreamWriter s = new OutputStreamWriter(new FileOutputStream(f));
os.write(f.getAbsolutePath());
os.flush();
os.close();
}
}
}catch(Exception e){
e.printStackTrace();
}
}
/**
* 3. 给定一个txt文件,读取并输出里面的内容
* @param args
*/
public static void printTxt(String filepath){
File file = new File(filepath);
try{
BufferedReader br = new BufferedReader(new FileReader(file));
int line = 1;
String str = null;
while ((str = br.readLine()) != null) {
System.out.println("line "+ line + ": "+ str);
line++;
}
br.close();
}catch(Exception e){
e.printStackTrace();
}
}