java中怎样从文件中读取数据?

Python08

java中怎样从文件中读取数据?,第1张

分为读字节,读字符两种读法\x0d\x0a◎◎◎FileInputStream 字节输入流读文件◎◎◎\x0d\x0apublic class Maintest {\x0d\x0a\x0d\x0apublic static void main(String[] args) throws IOException {\x0d\x0a\x0d\x0aFile f=new File("G:\\just for fun\\xiangwei.txt")\x0d\x0a\x0d\x0aFileInputStream fin=new FileInputStream(f)\x0d\x0a\x0d\x0abyte[] bs=new byte[1024]\x0d\x0a\x0d\x0aint count=0\x0d\x0awhile((count=fin.read(bs))>0)\x0d\x0a{\x0d\x0a\x0d\x0aString str=new String(bs,0,count)//反复定义新变量:每一次都 重新定义新变量,接收新读取的数据\x0d\x0a\x0d\x0aSystem.out.println(str)//反复输出新变量:每一次都 输出重新定义的新变量\x0d\x0a}\x0d\x0afin.close()\x0d\x0a}\x0d\x0a}\x0d\x0a\x0d\x0a◎◎◎FileReader 字符输入流读文件◎◎◎\x0d\x0apublic class Maintest {\x0d\x0apublic static void main(String[] args) throws IOException {\x0d\x0a\x0d\x0aFile f=new File("H:\\just for fun\\xiangwei.txt")\x0d\x0a\x0d\x0aFileReader fre=new FileReader(f)\x0d\x0a\x0d\x0aBufferedReader bre=new BufferedReader(fre)\x0d\x0a\x0d\x0aString str=""\x0d\x0awhile((str=bre.readLine())!=null)//●判断最后一行不存在,为空\x0d\x0a{\x0d\x0aSystem.out.println(str)\x0d\x0a}\x0d\x0abre.close()\x0d\x0a fre.close()\x0d\x0a\x0d\x0a}\x0d\x0a\x0d\x0a}

File 类是对文件和文件夹的抽象,包含了对文件和文件夹的多种属性和操作方法。File类的常用方法如下表:

返回

方法

说明

StringgetName获取文件名称

StringgetParent获取文件的父路径字符串

StringgetPath获取文件的相对路径字符串

StringgetAbsolutePath获取文件的绝对路径字符串

booleanexists判断文件或者文件夹是否存在

booleanisFile判断是不是文件类型

booleanisDirectory判断是不是文件夹类型

booleandelete删除文件或文件夹,如果删除成功返回结果为true

booleanmkdir创建文件夹,创建成功返回true

booleansetReadOnly设置文件或文件夹的只读属性

longlength获取文件的长度

longlastModified获取文件的最后修改时间

String[ ]list获取文件夹中的文件和子文件夹的名称,并存放到字符串数组中

以下java程序的作用是将当前目录及其子目录中的.java文件收集到collection.txt文件中,并添加行号,你可以参考一下。

import java.io.*

public class Collection

{

public static void main(String[] args) throws Exception

{

final String F=".\\collection.txt"

FW=new FileWriter(new File(F))

Collection.ProcessDirectory(new File("."))

Collection.FW.flush()

Collection.FW.close()

}

private static void ProcessDirectory(File d) throws Exception

{

File[] ds=null

Collection.ProcessJavaFile(d)

ds=d.listFiles(Collection.DFilter)

for(int i=0i<ds.lengthi++)

{

Collection.ProcessDirectory(ds[i])

}

}

private static void ProcessJavaFile(File d) throws Exception

{

String line=null

LineNumberReader lnr=null

File[] fs=d.listFiles(Collection.FNFilter)

for(int i=0i<fs.lengthi++)

{

lnr=new LineNumberReader(new FileReader(fs[i]))

Collection.FW.write(fs[i].getCanonicalPath()+"\r\n")

System.out.println(fs[i].getCanonicalPath())

while(null!=(line=lnr.readLine()))

{

Collection.FW.write(""+lnr.getLineNumber()+" "+line+"\r\n")

System.out.println(""+lnr.getLineNumber()+" "+line)

}

Collection.FW.write("\r\n")

System.out.println()

}

}

private static FileWriter FW

private static FilenameFilter FNFilter=new FilenameFilter()

{

public boolean accept(File dir,String name)

{

return name.endsWith(".java")

}

}

private static FileFilter DFilter=new FileFilter()

{

public boolean accept(File pathname)

{

return pathname.isDirectory()

}

}

}