Java读取文件内容(Java读取文件内容为字符串)

作者&投稿:涂孟 (若有异议请与网页底部的电邮联系)
~ JAVA中读取文件(二进制,字符)内容的几种方

JAVA中读取文件内容的方法有很多,比如按字节读取文件内容,按字符读取文件内容,按行读取文件内容,随机读取文件内容等方法,本文就以上方法的具体实现给出代码,需要的可以直接复制使用

publicclassReadFromFile{

/**

*以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。

*/

publicstaticvoidreadFileByBytes(StringfileName){

Filefile=newFile(fileName);

InputStreamin=null;

try{

System.out.println("以字节为单位读取文件内容,一次读一个字节:");

//一次读一个字节

in=newFileInputStream(file);

inttempbyte;

while((tempbyte=in.read())!=-1){

System.out.write(tempbyte);

}

in.close();

}catch(IOExceptione){

e.printStackTrace();

return;

}

try{

System.out.println("以字节为单位读取文件内容,一次读多个字节:");

//一次读多个字节

byte[]tempbytes=newbyte[100];

intbyteread=0;

in=newFileInputStream(fileName);

ReadFromFile.showAvailableBytes(in);

//读入多个字节到字节数组中,byteread为一次读入的字节数

while((byteread=in.read(tempbytes))!=-1){

System.out.write(tempbytes,0,byteread);

}

}catch(Exceptione1){

e1.printStackTrace();

}finally{

if(in!=null){

try{

in.close();

}catch(IOExceptione1){

}

}

}

}

/**

*以字符为单位读取文件,常用于读文本,数字等类型的文件

*/

publicstaticvoidreadFileByChars(StringfileName){

Filefile=newFile(fileName);

Readerreader=null;

try{

System.out.println("以字符为单位读取文件内容,一次读一个字节:");

//一次读一个字符

reader=newInputStreamReader(newFileInputStream(file));

inttempchar;

while((tempchar=reader.read())!=-1){

//对于windows下,
这两个字符在一起时,表示一个换行。

//但如果这两个字符分开显示时,会换两次行。

//因此,屏蔽掉,或者屏蔽
。否则,将会多出很多空行。

if(((char)tempchar)!=''){

System.out.print((char)tempchar);

}

}

reader.close();

}catch(Exceptione){

e.printStackTrace();

}

try{

System.out.println("以字符为单位读取文件内容,一次读多个字节:");

//一次读多个字符

char[]tempchars=newchar[30];

intcharread=0;

reader=newInputStreamReader(newFileInputStream(fileName));

//读入多个字符到字符数组中,charread为一次读取字符数

while((charread=reader.read(tempchars))!=-1){

//同样屏蔽掉不显示

if((charread==tempchars.length)

(tempchars[tempchars.length-1]!='')){

System.out.print(tempchars);

}else{

for(inti=0;icharread;i++){

if(tempchars[i]==''){

continue;

}else{

System.out.print(tempchars[i]);

}

}

}

}

}catch(Exceptione1){

e1.printStackTrace();

}finally{

if(reader!=null){

try{

reader.close();

}catch(IOExceptione1){

}

}

}

}

/**

*以行为单位读取文件,常用于读面向行的格式化文件

*/

publicstaticvoidreadFileByLines(StringfileName){

Filefile=newFile(fileName);

BufferedReaderreader=null;

try{

System.out.println("以行为单位读取文件内容,一次读一整行:");

reader=newBufferedReader(newFileReader(file));

StringtempString=null;

intline=1;

//一次读入一行,直到读入null为文件结束

while((tempString=reader.readLine())!=null){

//显示行号

System.out.println("line"+line+":"+tempString);

line++;

}

reader.close();

}catch(IOExceptione){

e.printStackTrace();

}finally{

if(reader!=null){

try{

reader.close();

}catch(IOExceptione1){

}

}

}

}

/**

*随机读取文件内容

*/

publicstaticvoidreadFileByRandomAccess(StringfileName){

RandomAccessFilerandomFile=null;

try{

System.out.println("随机读取一段文件内容:");

//打开一个随机访问文件流,按只读方式

randomFile=newRandomAccessFile(fileName,"r");

//文件长度,字节数

longfileLength=randomFile.length();

//读文件的起始位置

intbeginIndex=(fileLength4)?4:0;

//将读文件的开始位置移到beginIndex位置。

randomFile.seek(beginIndex);

byte[]bytes=newbyte[10];

intbyteread=0;

//一次读10个字节,如果文件内容不足10个字节,则读剩下的字节。

//将一次读取的字节数赋给byteread

while((byteread=randomFile.read(bytes))!=-1){

System.out.write(bytes,0,byteread);

}

}catch(IOExceptione){

e.printStackTrace();

}finally{

if(randomFile!=null){

try{

randomFile.close();

}catch(IOExceptione1){

}

}

}

}

/**

*显示输入流中还剩的字节数

*/

privatestaticvoidshowAvailableBytes(InputStreamin){

try{

System.out.println("当前字节输入流中的字节数为:"+in.available());

}catch(IOExceptione){

e.printStackTrace();

}

}

publicstaticvoidmain(String[]args){

StringfileName="C:/temp/newTemp.txt";

ReadFromFile.readFileByBytes(fileName);

ReadFromFile.readFileByChars(fileName);

ReadFromFile.readFileByLines(fileName);

ReadFromFile.readFileByRandomAccess(fileName);

}

}

Java如何读取txt文件的内容?

java读取txt文件内容。可以作如下理解:

首先获得一个文件句柄。Filefile=newFile();file即为文件句柄。两人之间连通电话网络了。接下来可以开始打电话了。

通过这条线路读取甲方的信息:newFileInputStream(file)目前这个信息已经读进来内存当中了。接下来需要解读成乙方可以理解的东西

既然你使用了FileInputStream()。那么对应的需要使用InputStreamReader()这个方法进行解读刚才装进来内存当中的数据

解读完成后要输出呀。那当然要转换成IO可以识别的数据呀。那就需要调用字节码读取的方法BufferedReader()。同时使用bufferedReader()的readline()方法读取txt文件中的每一行数据哈。

package?com.campu;

?

import?java.io.BufferedInputStream;

import?java.io.BufferedReader;

import?java.io.File;

import?java.io.FileInputStream;

import?java.io.InputStreamReader;

import?java.io.Reader;

?

/**

?*?@author?Java团长

?*?H20121012.java

?*?2017-10-29上午11:22:21

?*/

public?class?H20121012?{

????/**

?????*?功能:Java读取txt文件的内容

?????*?步骤:1:先获得文件句柄

?????*?2:获得文件句柄当做是输入一个字节码流,需要对这个输入流进行读取

?????*?3:读取到输入流后,需要读取生成字节流

?????*?4:一行一行的输出。readline()。

?????*?备注:需要考虑的是异常情况

?????*?@param?filePath

?????*/

????public?static?void?readTxtFile(String?filePath){

????????try?{

????????????????String?encoding="GBK";

????????????????File?file=new?File(filePath);

????????????????if(file.isFile()??file.exists()){?//判断文件是否存在

????????????????????InputStreamReader?read?=?new?InputStreamReader(

????????????????????new?FileInputStream(file),encoding);//考虑到编码格式

????????????????????BufferedReader?bufferedReader?=?new?BufferedReader(read);

????????????????????String?lineTxt?=?null;

????????????????????while((lineTxt?=?bufferedReader.readLine())?!=?null){

????????????????????????System.out.println(lineTxt);

????????????????????}

????????????????????read.close();

????????}else{

????????????System.out.println("找不到指定的文件");

????????}

????????}?catch?(Exception?e)?{

????????????System.out.println("读取文件内容出错");

????????????e.printStackTrace();

????????}

?????

????}

?????

????public?static?void?main(String?argv[]){

????????String?filePath?=?"L:\\Apache\\htdocs\es\\20121012.txt";

//??????"res/";

????????readTxtFile(filePath);

????}

?????

?????

?

}

我有一个微信公众号,经常会分享一些Java技术相关的干货文章,还有一些学习资源。

如果你需要的话,可以用微信搜索“Java团长”或者“javatuanzhang”关注。

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

分为读字节,读字符两种读法\x0d\x0a◎◎◎FileInputStream字节输入流读文件◎◎◎\x0d\x0apublicclassMaintest{\x0d\x0a\x0d\x0apublicstaticvoidmain(String[]args)throwsIOException{\x0d\x0a\x0d\x0aFilef=newFile("G:\\justforfun\\xiangwei.txt");\x0d\x0a\x0d\x0aFileInputStreamfin=newFileInputStream(f);\x0d\x0a\x0d\x0abyte[]bs=newbyte[1024];\x0d\x0a\x0d\x0aintcount=0;\x0d\x0awhile((count=fin.read(bs))0)\x0d\x0a{\x0d\x0a\x0d\x0aStringstr=newString(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\x0apublicclassMaintest{\x0d\x0apublicstaticvoidmain(String[]args)throwsIOException{\x0d\x0a\x0d\x0aFilef=newFile("H:\\justforfun\\xiangwei.txt");\x0d\x0a\x0d\x0aFileReaderfre=newFileReader(f);\x0d\x0a\x0d\x0aBufferedReaderbre=newBufferedReader(fre);\x0d\x0a\x0d\x0aStringstr="";\x0d\x0awhile((str=bre.readLine())!=null)//●判断最后一行不存在,为空\x0d\x0a{\x0d\x0aSystem.out.println(str);\x0d\x0a}\x0d\x0abre.close();\x0d\x0afre.close();\x0d\x0a\x0d\x0a}\x0d\x0a\x0d\x0a}

java中在怎么读取文件夹中的内容

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

importjava.io.*;

publicclassCollection

{

publicstaticvoidmain(String[]args)throwsException

{

finalStringF=".\\collection.txt";

FW=newFileWriter(newFile(F));

Collection.ProcessDirectory(newFile("."));

Collection.FW.flush();

Collection.FW.close();

}

privatestaticvoidProcessDirectory(Filed)throwsException

{

File[]ds=null;

Collection.ProcessJavaFile(d);

ds=d.listFiles(Collection.DFilter);

for(inti=0;ids.length;i++)

{

Collection.ProcessDirectory(ds[i]);

}

}

privatestaticvoidProcessJavaFile(Filed)throwsException

{

Stringline=null;

LineNumberReaderlnr=null;

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

for(inti=0;ifs.length;i++)

{

lnr=newLineNumberReader(newFileReader(fs[i]));

Collection.FW.write(fs[i].getCanonicalPath()+"
");

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

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

{

Collection.FW.write(""+lnr.getLineNumber()+""+line+"
");

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

}

Collection.FW.write("
");

System.out.println();

}

}

privatestaticFileWriterFW;

privatestaticFilenameFilterFNFilter=newFilenameFilter()

{

publicbooleanaccept(Filedir,Stringname)

{

returnname.endsWith(".java");

}

};

privatestaticFileFilterDFilter=newFileFilter()

{

publicbooleanaccept(Filepathname)

{

returnpathname.isDirectory();

}

};

}

java中怎样从一个文件中读取文件信息

java读取文件路径、所占空间大小等文件消息,主要是使用FileInputStream类来操作,示例如下:

import?java.io.File;




java中怎么读取文件内容(java中如何读取文件)
java中在怎么读取文件夹中的内容1、JAVA遍历文件夹下的所有文件(递归调用和非递归调用)不使用递归的方法调用。2、方式一:采用ServletContext读取,读取配置文件的realpath,然后通过文件流读取出来。因为是用ServletContext读取文件路径,所以配置文件可以放入在web-info的classes目录中,也可以在应用层级及web-...

Java读取文件内容(Java读取文件内容为字符串)
*以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。 *\/ publicstaticvoidreadFileByBytes(StringfileName){ Filefile=newFile(fileName); InputStreamin=null; try{ System.out.println("以字节为单位读取文件内容,一次读一个字节:"); \/\/一次读一个字节 in=newFileInputStream(file); intt...

怎样用Java实现从文本文档中读取数据并存入数据库
1. 使用Java I\/O流读取文本文件内容。例如,可以通过`BufferedReader`和`FileInputStream`来读取文本文件。```java import java.io.BufferedReader;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStreamReader;\/\/ ...public String readFileContent(String filePath) {...

java读取文件每一行?
bre=newBufferedReader(newFileReader(file));\/\/file为文件的路径+文件名称+文件后缀 while((str=bre.readLine())!=null)\/\/●判断最后一行不存在,为空结束循环 { System.out.println(str);\/\/原样输出读到的内容 };备注:流用完之后必须close掉,如上面的就应该是:bre.close();Java中如何一行行...

java读文件为什么读的是上一次文件内的内容
在读取文件之前没有正确地关闭文件。在Java中,读取文件通常使用FileReader和BufferedReader等类,这些类都需要在读取完文件后调用close方法来关闭文件。文件没有正确关闭,文件指针就会停留在最后一行,下一次读取文件时就会直接读取到上次已经读取过的内容。

java中如何从文件中读取数据
String str=new String(bs,0,count);\/\/反复定义新变量:每一次都 重新定义新变量,接收新读取的数据 System.out.println(str);\/\/反复输出新变量:每一次都 输出重新定义的新变量 } fin.close();} } ◎◎◎FileReader 字符输入流读文件◎◎◎ public class Maintest { public static void main(...

Java文件的读写java读文件写文件的方法
\/\/功能:读取f:\/aillo.txt文件的内容(一行一行读),并将其内容写入f:\/jackie.txt中 \/\/知识点:java读文件、写文件---<以字符流方式> public static void main(String[] args) { try { FileReader fr = new FileReader("f:\/aillo.txt");\/\/创建FileReader对象,用来读取字符流 BufferedReader br = new Buffe...

java如何读取txt文件
java读取txt文件内容。可以作如下理解:1、首先获得一个文件句柄。File file = new File(); file即为文件句柄。两人之间连通电话网络了。接下来可以开始打电话了。2、通过这条线路读取甲方的信息:new FileInputStream(file) 目前这个信息已经读进来内存当中了。接下来需要解读成乙方可以理解的东西 3、...

如何通过JAVA 读取.wps et及 dps文件格式的内容
1.读取wps(读取文本): 通过流加载wps文件,读取文字内容 import com.spire.doc.*;import java.io.File;import java.io.FileInputStream;import java.io.FileWriter;import java.io.IOException;public class ReadTextFromWPS {public static void main(String[] args) throws IOException{\/\/通过流加载...

java怎么读入文件,并逐行输出
java读入文件,并逐行输出,先在D:\/\/home建立个文件夹,然后创建一个a.txt文件,然后编辑文件,文本编辑的编码是utf-8,然后用流逐行读取输出,如下:import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.InputStream;...

南岸区19599485290: java怎么读取文档中指定内容 -
巩黎盐酸: package com.lwj.demo; import java.io.*; public class RandomAccessFileDemo {public static void main(String[] args) throws Exception {RandomAccessFile file = new RandomAccessFile("file", "rw");// 以下向file文件中写数据file.writeInt(20...

南岸区19599485290: Java读写文件的几种方法 -
巩黎盐酸: java读取配置文件的几种方法如下:方式一:采用ServletContext读取,读取配置文件的realpath,然后通过文件流读取出来.因为是用ServletContext读取文件路径,所以配置文件可以放入在web-info的classes目录中,也可以在应用层级及web-...

南岸区19599485290: java中读取文件数据 -
巩黎盐酸: //使用字符流按行读取BufferedReader br = new BufferedReader(new FileReader("D:\\1.txt"));String line = null;StringBuilder sb = new StringBuilder();while((line = br.readLine()) != null){sb.append(line);}br.close();//输出读取到的内容System.out.println(sb.toString());

南岸区19599485290: java 在文件里面读写数据 -
巩黎盐酸: 亲,我也在写这题目,我按你的方法写实现了 Scanner input = new Scanner("Exercise9_19.txt");这句有问题.将"Exercise9_19.txt"改为你前面定义的File变量sourceFile才能正确读出.正确写法:Scanner input = new Scanner(sourceFile); 不然你报的异常为java.util.InputMismatchException期望参数不匹配异常.

南岸区19599485290: JAVA读取文件 -
巩黎盐酸: 看看下面代码,没有注释,有关类可以自己看Api或者追问、hi我 import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileWriter; import java.io.IOException; import java.io.InputStreamReader; import java....

南岸区19599485290: 如何用java读取一个文件中的数字 -
巩黎盐酸: 代码:import java.io.BufferedReader; import java.io.FileReader; import java.util.ArrayList; import java.util.List; public class Test { public static void main(String[] args) { try { String file = "J:\\score.txt"; FileReader fr = new FileReader(file); ...

南岸区19599485290: java 读取文件 -
巩黎盐酸: import java.io.*; public class ReadFile { public static void main(String[] args) { try { File ff = new File(args[0]); //args[0]是你从控制台输入的文件路径,可以改为具体文件路径 FileInputStream fis = new FileInputStream(ff); int n; byte [] buff= new byte[...

南岸区19599485290: java 怎么读取文件中的字符和数据 -
巩黎盐酸: java中所有数据的传输都是通过字节流的形式,包括文件或图片.那么当你要读取一个文件时,首先将文件的绝对路径告诉java,调用对应的api就可以拿到该文件的字节流,下面是一段读取xml文件的例子 SAXReader reader = new SAXReader...

南岸区19599485290: java中怎么向文件中读写数据 -
巩黎盐酸: 根据文件路径创建Java.io.File对象,然后通过FileOutputStream获得文件内容.如果是结构化数据则需要相应的解析类.

南岸区19599485290: java中读取文件数据 -
巩黎盐酸: 导入BufferReader类,下面这段程序 private static BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in)); private static PrintWriter stdOut = new PrintWrite...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网