博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
06-Java 本地文件操作
阅读量:6439 次
发布时间:2019-06-23

本文共 7055 字,大约阅读时间需要 23 分钟。

1、File类简介

  创建好:File file=new File("hello.txt"); 后,按住Ctrl键、单击File。会出现File的源代码。

在视图左下角双击“outline”大纲最大化后会出现文件所具有的方法,带有绿色的点,表明方法是公开的,即public 。

public static void main(String[] args) {        // TODO Auto-generated method stub        File file=new File("hello.txt");        if (file.exists()) {            System.out.println(file.isFile());//文件可以是文件            System.out.println(file.isDirectory());//也可以是文件夹(路径)        }else {            System.out.println("文件不存在");  //结果是不存在的!

 

2、文件的创建、删除、重命名。

(1)创建和删除: 

public static void main(String[] args) {        // TODO Auto-generated method stub        File file=new File("hello.txt");        if (file.exists()) {            //            System.out.println(file.isFile());//文件可以是文件//            System.out.println(file.isDirectory());//也可以是文件夹(路径)        file.delete();//文件删除            System.out.println("文件删除成功");        }else {            System.out.println("文件不存在");            try {                file.createNewFile();                System.out.println("文件已经成功创建");            } catch (IOException e) {                // TODO Auto-generated catch block                System.out.println("文件无法创建");

 

(2)重命名:(注意:文件夹结构必须处于同一个分区,文件处于不同的分区,需要使用的是文件的拷贝而不是重命名)

public static void main(String[] args) {        // TODO Auto-generated method stub        File file=new File("hello.txt");        if (file.exists()) {            File nameto=new File("new hello.txt");//重命名            file.renameTo(nameto);//            System.out.println(file.isFile());//文件可以是文件//            System.out.println(file.isDirectory());//也可以是文件夹(路径)        //file.delete();//文件删除            //System.out.println("文件删除成功");        }else {            System.out.println("文件不存在");            try {                file.createNewFile();                System.out.println("文件已经成功创建");            } catch (IOException e) {                // TODO Auto-generated catch block                System.out.println("文件无法创建");            }

 

3、文件夹的创建、删除、重命名。

1

public static void main(String[] args) {        File folder =new File("my new folder");//文件夹的创建        if (folder.mkdirs()) {            System.out.println("文件夹创建完成");        }else {            if (folder.exists()) {                System.out.println("文件夹已经存在不用创建");            }else {                System.out.println("文件夹创建失败");

 

2、

File folder =new File("my new folder");        File newfolder=new File("my new folder-new");//重命名        if (folder.renameTo(newfolder)) {            System.out.println("重命名成功");        }else {            System.out.println("重命名失败");

 

3、

File folder =new File("my new folder");        if (folder.delete()) {
//删除(只能删空文件夹啊!) System.out.println("delete suceeded"); }else { System.out.println("delete failed");

 

4、文件属性的读取

(1)创建一个文件:在右击工程、new、选untitled text file 、输入内容后、另存为(选中所属工程名)、重命名~

public class ReadFileProperty {    public static void main(String[] args) {        File file=new File("text.txt");//        判断文件是否存在        System.out.println("判断文件是否存在"+file.exists());//        读取文件名称        System.out.println("读取文件名称"+file.getName());//        读取文件(相对)路径        System.out.println("读取文件路径"+file.getPath());//        读取文件绝对路径        System.out.println("读取文件绝对路径"+file.getAbsolutePath());//        获取文件父级路径        System.out.println("获取文件父级路径"+new File(file.getAbsolutePath()).getParent());//        读取文件大小        System.out.println("读取文件大小"+file.length()+"byte");        System.out.println("读取文件大小"+(float)file.length()/1000+"KB");//        判断文件是否被隐藏        System.out.println("判断文件是否被隐藏"+file.isHidden());//        判断文件是否可读        System.out.println("判断文件是否可读"+file.canRead());//        判断文件是否可写        System.out.println("判断文件是否可写"+file.canWrite());//        判断文件是否为文件夹        System.out.println("判断文件是否为文件夹"+file.isDirectory());

 

结果:

判断文件是否存在true

读取文件名称text.txt

读取文件路径text.txt

读取文件绝对路径C:\Documents and Settings\Owner.LENOVO-F94A111E\workspace\ReadFileProperty\text.txt

获取文件父级路径C:\Documents and Settings\Owner.LENOVO-F94A111E\workspace\ReadFileProperty

读取文件大小14byte

读取文件大小0.014KB

判断文件是否被隐藏false

判断文件是否可读true

判断文件是否可写true(如果将文件设置为只读的话 ,那么就是false !)

判断文件是否为文件夹false

 

 

1、  文件属性的设置

File file=new File("test.file");   //也是要手动新建一个文件的!        if (file.exists()) {        //将文件设定为可写(前提需要先将它设置为不可写!)        file.setWritable(true);//or false        //将文件设定为可读        file.setReadable(true);        //将文件设定为只读(运行一下语句时需要将上面两个语句注释掉~)        file.setReadOnly();}

2、  遍历文件夹:

public static void main(String[] args) {        // TODO Auto-generated method stub        printFiles(new File("../FileScanner"),1);    }    public static void printFiles(File dir,int tab) {
//tab为使层次更清楚 if (dir.isDirectory()) { File next[]=dir.listFiles(); for (int i = 0; i < next.length; i++) { for (int j = 0; j < tab; j++) { System.out.print("|---");//去掉ln。 } System.out.println(next[i].getName()); if (next[i].isDirectory()) { printFiles(next[i],tab+1);

 

结果:

|---.classpath

|---.project

|---.settings

|---|---org.eclipse.jdt.core.prefs

|---bin

|---|---com

|---|---|---jikexueyuan

|---|---|---|---filescan

|---|---|---|---|---main

|---|---|---|---|---|---Scanner.class

|---src

|---|---com

|---|---|---jikexueyuan

|---|---|---|---filescan

|---|---|---|---|---main

|---|---|---|---|---|---Scanner.java

 

3、  文件的简单读写:

(1)读::

   

public static void main(String[] args) {        // TODO Auto-generated method stub        File file=new File("text.txt");        if (file.exists()) {            System.err.println("exist");            try {                FileInputStream fis =new FileInputStream(file);                InputStreamReader isr=new InputStreamReader(fis, "UTF-8");                BufferedReader br=new BufferedReader(isr);                                String line;                while ((line=br.readLine())!=null) {                    System.out.println(line);                }                br.close();                isr.close();                fis.close();//先打开的后关闭,后打开的先关闭            } catch (FileNotFoundException e){                e.printStackTrace();            }catch ( UnsupportedEncodingException e) {                e.printStackTrace();            }catch (IOException e) {                e.printStackTrace();

(2)写:

  

File newfile =new File("newtext.txt");        FileOutputStream fos =new FileOutputStream(newfile);        OutputStreamWriter osw =new OutputStreamWriter(fos,"UTF-8");        BufferedWriter bw=new BufferedWriter(osw);        try {            bw.write("长歌行  汉乐府\n");            bw.write("青青园中葵,朝露待日晞。\n");            bw.write("阳春布德泽,万物生光辉。\n");            bw.write("常恐秋节至,焜黄华叶衰。\n");            bw.write("百川东到海,何时复西归?\n");            bw.write("少壮不努力,老大徒伤悲。\n");                        bw.close();            osw.close();            fos.close();                        System.out.println("写入完成");        } catch (FileNotFoundException e){            e.printStackTrace();        }catch ( UnsupportedEncodingException e) {            e.printStackTrace();        }catch (IOException e) {            e.printStackTrace();

 

转载地址:http://exzwo.baihongyu.com/

你可能感兴趣的文章
MySQL复制介绍及搭建
查看>>
Java在线调试工具
查看>>
[译]CSS-理解百分比的background-position
查看>>
虚拟机安装CentOS
查看>>
Idea里面老版本MapReduce设置FileInputFormat参数格式变化
查看>>
在 win10 环境下,设置自己写的 程序 开机自动 启动的方法
查看>>
Unity3d游戏开发之-单例设计模式-多线程一
查看>>
通过jquery定位元素
查看>>
Tooltip表单验证的注册表单
查看>>
UWP开发中两种网络图片缓存方法
查看>>
超8千Star,火遍Github的Python反直觉案例集!
查看>>
【msdn wpf forum翻译】如何在wpf程序(程序激活时)中捕获所有的键盘输入,而不管哪个元素获得焦点?...
查看>>
全球首家!阿里云获GNTC2018 网络创新大奖 成唯一获奖云服务商
查看>>
Python简单HttpServer
查看>>
Java LinkedList工作原理及实现
查看>>
负载均衡SLB的基本使用
查看>>
Centos 7 x86 安装JDK
查看>>
微信小程序的组件用法与传统HTML5标签的区别
查看>>
Hangfire 使用笔记
查看>>
(C#)Windows Shell 外壳编程系列8 - 同后缀名不同图标?
查看>>