您的位置:首页 > 编程语言 > Java开发

java中File类中的常用的方法 复制,读文件

2016-03-16 16:25 671 查看
//isDirectory 判断了文件是目录文件

boolean a = file.isDirectory();

//isFile()判断了文件是目录文件

boolean a = file.isFile();

文件复制

inStream = new FileInputStream(oldFile);

fs = new FileOutputStream(newFile);

byte[] buffer = new byte[10];

//每次从inStream中读数据到buffer,返回数据长度

while((byteread = inStream.read(buffer)) != -1) {

bytesum += byteread;

System.out.println(bytesum);

//将缓存中的数据写入文件,0-byteread

fs.write(buffer, 0, byteread);

}

/**

*

* 读取文件中的内容

*

* @param filePath

* @param fileName

* @return

* @throws IOException

*/

public static final String readAllFile(String filePath, String fileName)

throws IOException {

FileReader fr = new FileReader(filePath.trim() + fileName.trim());

String fileContent = "";

int count = fr.read();

System.out.println("count1:"+count);

while (count != -1) {

fileContent = fileContent + (char) count;

count = fr.read();

System.out.println("count2:"+count);

if (count == 13) {

fr.skip(1);

}

}

fr.close();

return fileContent;

}

1.创建

boolean createNewFile();在指定路径创建文件,如果文件已经存在,则不创建,返回false.输出流

对象一旦创建,如果文件存在,则会覆盖。

boolean mkdir():创建一级文件夹

boolean mkdirs():创建多级文件夹

调用该类的一个方法createNewFile(),但是在实际操作中需要注意一些事项,如判断文件是否存在,以及如何向新建文件中写入数据等。
代码如下复制代码
import java.io.*;

public class CreateNewFile{

//创建一个方法完成创建文件的目的,文件的第一个参数是文件路径和文件名,第二个参数是文件内容

//如:myfile.doc HelloJava!

public void createNewFile(String fileDirectoryAndName,String fileContent){

try{

String fileName = fileDirectoryAndName;

//创建File对象,参数为String类型,表示目录名

File myFile = new File(fileName);

//判断文件是否存在,如果不存在则调用createNewFile()方法创建新目录,否则跳至异常处理代码

if(!myFile.exists())

myFile.createNewFile();

else //如果不存在则扔出异常

throw new Exception("The new file already exists!");

//下面把数据写入创建的文件,首先新建文件名为参数创建FileWriter对象

FileWriter resultFile = new FileWriter(myFile);

//把该对象包装进PrinterWriter对象

PrintWriter myNewFile = new PrintWriter(resultFile);

//再通过PrinterWriter对象的println()方法把字符串数据写入新建文件

myNewFile.println(fileContent);

resultFile.close(); //关闭文件写入流

}catch(Exception ex){

System.out.println("无法创建新文件!");

ex.printStackTrace();

}

}

public static void main(String[] args){

//创建类的对象并调用该对象的createNewFile()方法,创建新文件并写入数据

CreateNewFile createFile = new CreateNewFile();

createFile.createNewFile(args[0],args[1]);

}

}
执行该程序,在执行代码后直接输入两个参数,第一个参数是文件名,此时需要注明文件类型,这里创建的word文档;第二个参数是文件的内容,该参数是一个字符串数据

2.删除

boolean delete():删除失败返回假。如果文件正在使用,则删除不了返回false

void deleteOnExit():程序退出时删除文件

3.判断

boolean exists():判断文件是否存在

isFile();

isDirectory();

isHidden();

isAbsolute();

4.获取信息

getName();

getPahth();//获取路径

getAbsoluteFile();//获取绝对路径封装成文件对象

getAbsolutPath();//获取绝对路径

getParent();

lastModified();

length();

getParent();//该方法返回的是绝对路径中的父目录,如果获取的是相对路径,返回null.

//如果相对路径中有一级目录,那么该目录就是返回结果

renameto()
代码如下复制代码
package com.day20.wd;

import java.io.File;

import java.io.IOException;

public class IODemo {

/**

* @param args

* @throws IOException

*/

public static void main(String[] args) throws IOException {

// TODO Auto-generated method stub

}

private static void method_04() {

File f=new File("abc\test.java");

sop(f.getAbsolutePath());

sop(f.getParent());//该方法返回的是绝对路径中的父目录。如果获取的是相对路径,返回null。

//如果相对路径中有上一层目录该目录就是返回结果

sop(f.getAbsoluteFile());

File f2=new File("c:\test.java");

sop("rename"+f.renameTo(f2));

}

private static void method_03() {

File f= new File("G:\sdd\sssf\ssf");

sop("isabsolute"+f.isAbsolute());

sop(f.getAbsolutePath());

sop(f.mkdir());

sop(f.exists());

}

private static void method_02() throws IOException {

File f=new File("a.txt");

f.deleteOnExit();//程序退出删除文件

if(f.exists()) //判断文件是否存在

f.delete();//删除

sop(f.getAbsoluteFile());//绝对路径

sop(f.createNewFile());//创建文件,返回boolean值,如true,创建,如果已存在,那么返回false

sop(f.createNewFile());

}

public static void method__01(){

//将a.txt封装成File对象,可以将已有的和未出现的文件或者文件夹封装成对象

File f=new File("a.txt");

sop(f.getAbsoluteFile());

File f1=new File("d:\abc","a.txt");

sop(f1.getAbsoluteFile());

File f2=new File("d:\abc");

File f3=new File(f2,"a.txt");

sop(f3);

//separator目录分割符,可以实现跨平台

}

public static void sop(Object e){

System.out.println(e);

}

}
相关文件操作

在java中File类是唯一可以直接操作文件的类:

一、创建文件
代码如下复制代码
FileDemo01.java:

import java.io.File;

import java.io.IOException;

public class FileDemo01

{

public static void main(String args[])

{

File f = new File("e:"+File.separator+"abc.txt");//声明File类的对象

try

{

f.createNewFile();//根据给定的路径创建文件

}

catch (IOException e)//进行异常的捕获打印输出

{

e.printStackTrace();

}

}

}
2.删除文件:
代码如下复制代码
FileDemo02.java

import java.io.File;

public class FileDemo02

{

public static void main(String args[])

{

File f = new File("e:"+File.separator+"abc.txt");

f.delete();//删除文件

}

}
3.如果文件存在则删除,如果不存在则创建
代码如下复制代码
FileDemo03.java:

import java.io.File;

import java.io.IOException;

public class FileDemo03

{

public static void main(String args[])

{

File f = new File("e:"+File.separator+"abc.txt");

/*

如果文件存在则删除文件,如果不存在则创建文件

*/

if(f.exists())

{

f.delete();//删除文件

}

else

{

try

{

f.createNewFile();//创建文件

}

catch (IOException e)

{

e.printStackTrace();

}

}

}

}
4.创建文件夹
代码如下复制代码
FileDemo04.java:

import java.io.File;

public class FileDemo04

{

public static void main(String args[])

{

File f = new File("e:"+File.separator+"nwpu");

f.mkdir();

}

}
5.列出文件(列出的只是文件名)
代码如下复制代码
FileDemo05.java:

import java.io.File;

public class FileDemo05

{

public static void main(String args[])

{

File f = new File("e:"+File.separator);//实例化File类的对象

String str [] = f.list();//列出文件,返回一个str数组

for (int i=0;i<str.length;i++)//循环输出文件,看输出的是文件的什么内容

{

System.out.println(str[i]);

}

}

}
6.列出文件(listFiles()方法可以列出文件的路径)
代码如下复制代码
FileDemo06.java:

import java.io.File;

public class FileDemo06

{

public static void main(String args[])

{

File f = new File("e:"+File.separator);//实例化File类的对象

File files[] = f.listFiles();//列出文件

for (int i=0;i<files.length;i++)

{

System.out.println(files[i]);//调用toString 方法打印输出看看输出信息

}

}

}
7.判断是否为目录:(isDirectory()方法)
代码如下复制代码
FileDemo07.java:

import java.io.File;

public class FileDemo07

{

public static void main(String args[])

{

File f = new File("e:"+File.separator);//实例化File类的对象

if(f.isDirectory())

{

System.out.println(f.getPath()+"是目录!");

}

else

{

System.out.println(f.getPath()+"不是目录!");

}

}

}
8.列出给定目录中的所以内容(如果有子目录则列出子目录中的所以内容)
代码如下复制代码
FileDemo08.java:

import java.io.File;

public class FileDemo08

{

public static void main(String args[])

{

File f = new File("e:"+File.separator);//实例化File类的对象

printFile(f);

}

public static void printFile(File f)

{

if(f!=null)//判断文件是否为空

{

if(f.isDirectory())//判断文件是否为文件夹

{

File files[] = f.listFiles();//列出文件

if(files!=null)

{//判断此目录能否列出

for(int i=0;i<files.length;i++)

{

printFile(files[i]);//递归调用判断是否为子文件夹

}

}

}

else

{

System.out.println(f);

}

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: