java 根据路径和内容生成文件_java如何根据路径生成文件夹呀?

bf6909b64ae24ca8f0e3589710bc9853.png

隔江千里

建议使用Path类操作文件,涉及文件监听事件、文件权限等高级特性下面是随便在博客上找的,东西比较杂,还需要你自己看APIpackagefilespaths;importorg.junit.Test;importjava.io.*;importjava.net.URI;importjava.nio.charset.StandardCharsets;importjava.nio.file.FileSystems;importjava.nio.file.Files;importjava.nio.file.Path;importjava.nio.file.Paths;importjava.nio.file.attribute.PosixFilePermission;importjava.util.HashSet;importjava.util.List;importjava.util.Set;importjava.util.stream.Stream;/***@Authorkingboy*@Date2017/4/1311:05*@DescriptionPathisusedtoPathSample*@emailkingboyworld@163.com*/publicclassPathTest{privatestaticStringseparator=File.separator;/***构建Path*/@Testpublicvoidconstructon(){//1.PathsPathpath=Paths.get("/Users/kingboy/Desktop/");Pathpath1=Paths.get(URI.create("/Users/kingboy/Desktop/"));//2.FileSystemsPathpath2=FileSystems.getDefault().getPath("/Users/kingboy/Desktop/");//3.FilePathpath3=newFile("/Users/kingboy/Desktop/").toPath();}/***创建一个空文件/文件夹*@throwsIOException*/@Testpublicvoidcreate()throwsIOException{//文件夹Pathpath=Paths.get("/Users/kingboy/Desktop/hello");if(!Files.exists(path)){Files.createDirectory(path);//创建多个目录//Files.createDirectories(path);}//文件Pathpath1=Paths.get("/Users/kingboy/Desktop/helloFile");if(Files.exists(path1)){Files.createFile(path1);}}/***文件属性*/@TestpublicvoidgetFileProperties()throwsIOException{Pathpath=Paths.get("/Users/kingboy/Desktop/text.txt");System.out.println(Files.getLastModifiedTime(path));//最后修改时间System.out.println(Files.getOwner(path));//拥有者System.out.println(Files.getPosixFilePermissions(path));//权限System.out.println(Files.size(path));//文件大小}/***读取一个文本文件*/@TestpublicvoidreadText()throwsIOException{Pathpath=Paths.get("/Users/kingboy/Desktop/text.txt");//通过bufferedReader读取BufferedReaderbufferedReader=Files.newBufferedReader(path,StandardCharsets.UTF_8);//文件编码StringBuildersb=newStringBuilder();StringtempString=null;while((tempString=bufferedReader.readLine())!=null){sb=sb.append(tempString);}System.out.println(sb);//通过Files方法readAllLinesListstrings=Files.readAllLines(path);strings.forEach(s->System.out.print(s));//输出结果//adsfasdfasdfadsfasdfgsdfsdffsdfsdf//adsfasdfasdfadsfasdfgsdfsdffsdfsdf}/***拿到文件输入流*@throwsIOException*/@TestpublicvoidgetInputStream()throwsIOException{Pathpath=Paths.get("/Users/kingboy/Desktop/text.txt");InputStreaminputStream=Files.newInputStream(path);}/***文件写操作*/@TestpublicvoidwriteFile()throwsIOException{Pathpath=Paths.get("/Users/kingboy/Desktop/writeFile");BufferedWriterbufferedWriter=Files.newBufferedWriter(path);Stringstr="writefiletest";bufferedWriter.write(str);bufferedWriter.flush();bufferedWriter.close();}/***遍历一个文件夹*/@TestpublicvoidtraverseDirectory()throwsIOException{Pathpath=Paths.get("/Users/kingboy/Desktop/");Streamlist=Files.list(path);list.forEach(p->{System.out.println(p.getFileName());});}/***遍历文件树*/@TestpublicvoidtraverseTree()throwsIOException{Pathpath=Paths.get("/Users/kingboy/Desktop/");Streamwalk=Files.walk(path);walk.forEach(path1->{//System.out.println(path1.getRoot());//根目录System.out.println(path1.getFileName());//文件名//System.out.println(path1.getParent());//上级目录//System.out.println(path1.getFileSystem());//文件系统});//还有种方式Files.walkFileTree()}/***文件复制*/@TestpublicvoidcopyFile()throwsIOException{Pathpath=Paths.get("/Users/kingboy/Desktop/text.txt");Pathpath2=Paths.get("/Users/kingboy/Desktop/hello.txt");Files.copy(path,path2);}/***读取权限见上面示例,设置权限*/@TestpublicvoidwritePermission()throwsIOException{Pathpath=Paths.get("/Users/kingboy/Desktop/text.txt");SetpermissionSet=newHashSet();permissionSet.add(PosixFilePermission.GROUP_WRITE);permissionSet.add(PosixFilePermission.OWNER_EXECUTE);Files.setPosixFilePermissions(path,permissionSet);}//还有很多其他操作Api,自己查看方法名,很容易就能分辨出功能。}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值