【例1】创建一个新文件

import java.io.*;
class hello{public static void main(String[] args) {File f=new File("D:\\hello.txt");try{f.createNewFile();}catch (Exception e) {e.printStackTrace();}}
}

【运行结果】:程序运行后,在D盘下会有一个名字为hello.txt的文件。

【例2】File类的两个常量

import java.io.*;
class hello{public static void main(String[] args) {System.out.println(File.separator);System.out.println(File.pathSeparator);}
}

【运行结果】:

\

;

此处多说几句:有些同学可能会有疑问,我直接在windows下使用\进行分割不行吗?当然是可以的。但是在linux下就不是\了。所以,要想使得我们的代码跨平台,更加健壮,所以,大家都采用这两个常量吧,其实也多写不了几行。

现在我们使用File类中的常量改写上面的代码:

import java.io.*;
class hello{public static void main(String[] args) {String fileName="D:"+File.separator+"hello.txt";File f=new File(fileName);try{f.createNewFile();}catch (Exception e) {e.printStackTrace();}}
}

我们可以看出,并没有多写多少代码哦,所以建议使用File类中的常量。

删除一个文件

/*** 删除一个文件* */
import java.io.*;
class hello{public static void main(String[] args) {String fileName="D:"+File.separator+"hello.txt";File f=new File(fileName);if(f.exists()){f.delete();}else{System.out.println("文件不存在");}}
}

创建一个文件夹

/*** 创建一个文件夹* */
import java.io.*;
class hello{public static void main(String[] args) {String fileName="D:"+File.separator+"hello";File f=new File(fileName);f.mkdir();}
}

【运行结果】:D盘下多了一个hello文件夹

列出指定目录的全部文件(包括隐藏文件):

/*** 使用list列出指定目录的全部文件* */
import java.io.*;
class hello{public static void main(String[] args) {String fileName="D:"+File.separator;File f=new File(fileName);String[] str=f.list();for (int i = 0; i < str.length; i++) {System.out.println(str[i]);}}
}

【运行结果】:

$RECYCLE.BIN

360

360Downloads

360Rec

360SoftMove

Config.Msi

da

(你的运行结果应该和这个不一样的,呵呵)

但是使用list返回的是String数组。而且列出的不是完整路径,如果想列出完整路径的话,需要使用listFiles.他返回的是File的数组

列出指定目录的全部文件(包括隐藏文件):

** 使用listFiles列出指定目录的全部文件* listFiles输出的是完整路径* */
import java.io.*;
class hello{public static void main(String[] args) {String fileName="D:"+File.separator;File f=new File(fileName);File[] str=f.listFiles();for (int i = 0; i < str.length; i++) {System.out.println(str[i]);}}

【运行结果】:

D:\$RECYCLE.BIN

D:\360

D:\360Downloads

D:\360Rec

D:\360SoftMove

D:\Config.Msi

D:\da

判断一个指定的路径是否为目录

/** * 使用isDirectory判断一个指定的路径是否为目录 * */import java.io.*;class hello{    public static void main(String[] args) {        String fileName="D:"+File.separator;        File f=new File(fileName);        if(f.isDirectory()){            System.out.println("YES");        }else{            System.out.println("NO");        }    }}

【运行结果】:YES
搜索指定目录的全部内容

/*** 列出指定目录的全部内容* */
import java.io.*;
class hello{public static void main(String[] args) {String fileName="D:"+File.separator;File f=new File(fileName);print(f);}public static void print(File f){if(f!=null){if(f.isDirectory()){File[] fileArray=f.listFiles();if(fileArray!=null){for (int i = 0; i < fileArray.length; i++) {//递归调用print(fileArray[i]);}}}else{System.out.println(f);}}}
}

【运行结果】:

D:\Tomcat6\work\Catalina\localhost\nevel\org\apache\jsp\framepages\web4welcome_jsp.java

D:\Tomcat6\work\Catalina\localhost\nevel\org\apache\jsp\help_005fhome_jsp.class

D:\Tomcat6\work\Catalina\localhost\nevel\org\apache\jsp\help_005fhome_jsp.java

.....
【使用RandomAccessFile写入文件】

/*** 使用RandomAccessFile写入文件* */
import java.io.*;
class hello{public static void main(String[] args) throws IOException {String fileName="D:"+File.separator+"hello.txt";File f=new File(fileName);RandomAccessFile demo=new RandomAccessFile(f,"rw");demo.writeBytes("asdsad");demo.writeInt(12);demo.writeBoolean(true);demo.writeChar('A');demo.writeFloat(1.21f);demo.writeDouble(12.123);demo.close();   }
}

如果你此时打开hello.txt查看的话,会发现那是乱码

转载于:https://blog.51cto.com/alina64/1401331

Java IO(一)相关推荐

  1. Java IO 流 学习 总结

    I/O  主要是对文件进行处理, 其主要包含3个方面的内容 1 input 输入 2 out 出入 3 File 文件 Java 流的概念 流是一组有序的数据序列,流提供了一条通道程序,可以是这条通道 ...

  2. Java基础(二十七)Java IO(4)字符流(Character Stream)

    字符流用于处理字符数据的读取和写入,它以字符为单位. 一.Reader类与Writer类 1.Reader类是所有字符输入流的父类,它定义了操作字符输入流的各种方法. 2.Writer类是所有字符输出 ...

  3. Java IO流学习总结四:缓冲流-BufferedReader、BufferedWriter

    Java IO流学习总结四:缓冲流-BufferedReader.BufferedWriter 转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/det ...

  4. java openfile busy_android java.io.IOException: open failed: EBUSY (Device or resource busy)

    今天遇到一个奇怪的问题, 测试在程序的下载界面,下载一个文件第一次下载成功,删除后再下载结果下载报错, 程序:file.createNewFile(); 报错:java.io.IOException: ...

  5. java.io.file jar_IDEA Maven 打包运行 jar java.io.FileNotFoundException: 问题?

    java.io.FileNotFoundException: D:\workspaceIdea\ywjc-refactor\target\lib\javax.annotation-api-1.3.2. ...

  6. Java IO流学习总结三:缓冲流-BufferedInputStream、BufferedOutputStream

    Java IO流学习总结三:缓冲流-BufferedInputStream.BufferedOutputStream 转载请标明出处:http://blog.csdn.net/zhaoyanjun6/ ...

  7. Java IO系列之字节流拷贝文件性能比较

    Java IO 字节流基类 InputStream--输入流, OutPutStream--输出流, 输入流用于读,输出流用于写. 字节流默认一次只读取或输出一个字节. package jonavin ...

  8. java io在文件结尾持续添加内容

    [代码] java io在文件结尾持续添加内容 public static void write(String path, String content) {try {File f = new Fil ...

  9. java.io包对象读写_java.io 包中的____________和____________类主要用于对对象(Object)的读写_学小易找答案...

    [多选题]连铸钢水成分控制的要求有( ). [单选题]起动机用直流电动机将电能转化为 [单选题]下列关于我国少数民族传统禁忌的说法中,错误的是( ). [多选题]下列选项中 , 属于表单控件的是 ( ...

  10. linux rm 提示io异常,Hadoop异常 java.io.IOException: Job status not available

    Hadoop集群上跑mapreduce,在job任务执行完成退出时报 java.io.IOException: Job status not available异常.Job client请求job状态 ...

最新文章

  1. Linux内存技术分析(下)
  2. 3. JavaScript 数据类型
  3. EasyRTMP CPU占用问题调优(一)
  4. python 与或非_Python的阶乘求和
  5. 重新分析connection reset by peer, socket write error错误原因
  6. 关于myeclipse中启动项目(server为welogic10)报valid license.bea错误的问题解决方式...
  7. CSS样式表——列表与布局
  8. Springboot——quartz简单配置和使用
  9. nfc卡模式与标准模式_NFC相关标准
  10. unity 中文 离线文档下载安装
  11. 基于ASP.NET的网络购物系统设计与实现
  12. objectc foundation class hierachy
  13. 大数据时代的数据挖掘是怎么做的?
  14. QQ坦白说使用Fiddler抓包获取json
  15. 乔布斯的创新故事_创新工作的真实故事
  16. 隐藏在Windows XP中的28个秘密武器
  17. Mach-O文件, 架构包framework的合并和拆分
  18. 硬核!4.5万字手把手教你搭建MySQL海量数据存储架构!!(全程实战,建议收藏)
  19. matlab2016环境变量,matlab环境变量path
  20. 树莓派远程4G遥控车教程(二)-相机云台舵机初步调试

热门文章

  1. openstack 中国联盟公开课參会总结
  2. 10月Web服务器调查:Apache下降 Ngnix攀升
  3. spring security config
  4. java - 匿名类
  5. 03 Oracle分区表
  6. 使用jquery+css实现瀑布流布局
  7. 纯CSS制作各种各样的网页图标(三角形、暂停按钮、下载箭头、加号等)
  8. [面经]春季跳槽面筋总结 [2018年3月17]
  9. Linux下Tomcat设置自动启动
  10. Cypher查询语言--Neo4j-WHERE(三)