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;...
巩黎盐酸: 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...