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();

06-Java 本地文件操作的更多相关文章

  1. java常见文件操作

    收集整理的java常见文件操作,方便平时使用: //1.创建文件夹 //import java.io.*; File myFolderPath = new File(str1); try { if ( ...

  2. 【Egret】实现web页面操作PC端本地文件操作

    Egret 实现web页面操作PC端本地文件操作: http://edn.egret.com/cn/book/page/pid/181 //------------------------------ ...

  3. H5读取本地文件操作

    H5读取本地文件操作 本文转自:转:http://hushicai.com/2014/03/29/html5-du-qu-ben-di-wen-jian.html感谢大神分享. 常见的语言比如php. ...

  4. HTML5 本地文件操作之FileSystemAPI实例(四)

    目录操作Demo二 1.删除目录 window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSyst ...

  5. HTML5 本地文件操作之FileSystemAPI实例(三)

    文件夹操作demo 1.读取根目录文件夹内容 window.requestFileSystem = window.requestFileSystem || window.webkitRequestFi ...

  6. HTML5 本地文件操作之FileSystemAPI实例(二)

    文件操作实例整理二 1.删除文件.复制文件.移动文件 //获取请求权限 window.requestFileSystem = window.requestFileSystem || window.we ...

  7. HTML5 本地文件操作之FileSystemAPI实例(一)

    文件操作实例整理一 1.请求系统配额类型 console.info(window.TEMPORARY); //0 临时 console.info(window.PERSISTENT); //1 持久 ...

  8. HTML5 本地文件操作之FileSystemAPI整理(二)

    一.文件目录操作 1.DirectoryEntry对象 属性: 1.isFile: 操作对象的是否为文件,DirectoryEntry对象固定其值为false 2.isDirectory: 操作对象是 ...

  9. HTML5 本地文件操作之FileSystemAPI整理(一)

    一.请求配额 DeprecatedStorageInfo对象 window.webkitStorageInfo:当使用持久存储模式时需要用到该对象的接口 方法: 1.requestQuota(type ...

  10. Java常用文件操作-2

    上篇文章记录了常用的文件操作,这里记录下通过SSH服务器操作Linux服务器的指定路径下的文件. 这里用到了第三方jar包 jsch-0.1.53.jar, jsch-api 1.删除服务器上指定路径 ...

随机推荐

  1. 技术分享:逆向分析ATM分离器

    文章内容仅供技术交流,请勿模仿操作! 背景(作者) 每一次外出时, Elizabeth和我总是格外的小心,同时把我们身上的钱藏在特殊的皮带上面,这样还不够,我们还采取了“狡兔三窟”的方式来藏身上带的银 ...

  2. Linux中的汇编简介

    GNU as汇编语法 GNU汇编语法使用的是AT&T汇编它和Intel汇编的语法主要有以下一些不同: AT&T汇编中的立即操作数前面要加上'$',寄存器操作数名前要加上百分号'%',绝 ...

  3. BZOJ 1271 秦腾与教学评估

    二分. #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> ...

  4. c# 只允许一个实例运行

    1.单件模式,Singleton,应用程序只能允许一个实例在运行.这是最好的解决方法2.查询系统进程里是不是已经运行.private void Form1_Load(object sender, Ev ...

  5. H5实现俄罗斯方块(二)

    对应的js 1.封装操作dom的js: (function (document) { //游戏的实例 var gameInst; /**封装一个返回原型的DOM对象 */ function DomOb ...

  6. URAL 2040 (回文自动机)

    Problem Palindromes and Super Abilities 2 (URAL2040) 题目大意 给一个字符串,从左到右依次添加,询问每添加一个字符,新增加的回文串数量. 解题分析 ...

  7. HDU 3605

    http://acm.hdu.edu.cn/showproblem.php?pid=3605 用最大流做的,G++超时,C++可以过,看别人写的叫二分图多重匹配,还不会这玩意一会学学 显然的最大流模型 ...

  8. js 字符串转化成数字:(实例:用正则检测大于0的正数,最多保留4位小数)

    来源:http://www.cnblogs.com/hwx0807/archive/2011/06/28/2092021.html 实例: function BindSubmitEvent() { / ...

  9. LeetCode Permutations (全排列)

    题意: 给出n个元素,请产生出所有的全排列. 思路: 注意到可能会有相同的排列出现,比如 {2,2}.还有可能是乱序列(大部分情况下都是无所谓的). 递归(1):产生的过多的多余vector. cla ...

  10. 检测到在集成的托管管道模式下不适用的 ASP.NET 设置的解决方法

    在将应用程序从经典模式迁移到集成模式时,可以保留经典模式下的自定义模块和处理程序注册,也可以将这些注册移除.如果不移除经典模式下使用的 httpModules 和 httpHandlers 注册,则必 ...