package zc
import java.io.BufferedReader
import java.io.File
import java.io.FileNotFoundException
import java.io.FileReader
import java.io.IOException
public class readLine {
public static void main(String[] args) {
// TODO Auto-generated method stub
File file = new File("C:/zc.txt")
BufferedReader reader = null
String tempString = null
int line =1
try {
System.out.println("以行为单位读取文件内容,一次读一整行:")
reader = new BufferedReader(new FileReader(file))
while ((tempString = reader.readLine()) != null) {
System.out.println("Line"+ line + ":" +tempString)
line ++
}
reader.close()
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace()
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace()
}finally{
if(reader != null){
try {
reader.close()
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace()
}
}
}
}
}
2).按字节读取TXT文件
package zc
import java.io.File
import java.io.FileInputStream
import java.io.FileNotFoundException
import java.io.IOException
import java.io.InputStream
public class readerFileByChars {
public static void main(String[] args) {
// TODO Auto-generated method stub
File file = new File("c:/zc.txt")
InputStream in = null
byte[] tempByte = new byte[1024]
int byteread = 0
try {
System.out.println("以字节为单位读取文件内容,一次读多个字节:")
in = new FileInputStream(file)
while ((byteread = in.read(tempByte)) != -1 ) {
System.out.write(tempByte, 0, byteread)
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace()
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace()
}finally{
if (in != null) {
try {
in.close()
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace()
}
}
}
}
}
java读取txt文件内容。可以作如下理解:
1、首先获得一个文件句柄。File file = new File()file即为文件句柄。两人之间连通电话网络了。接下来可以开始打电话了。
2、通过这条线路读取甲方的信息:new FileInputStream(file) 目前这个信息已经读进来内存当中了。接下来需要解读成乙方可以理解的东西
3、既然你使用了FileInputStream()。那么对应的需要使用InputStreamReader()这个方法进行解读刚才装进来内存当中的数据
4、解读完成后要输出呀。那当然要转换成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 码农小江
* H20121012.java
* 2012-10-12下午11:40: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\\res\\20121012.txt"
// "res/"
readTxtFile(filePath)
}
}
首先你要定义一条文件路线。就是实例File这个类,这条路连接了你的磁盘,也就是文件处,和你的代码处,你需要一个外卖员帮你传输数据,就是流,实例流对象!然后就是读取,用read方法读,每次读取的数据,存进字节数组,然后传进String类的构造器,底层会给你把字节数组里的转为字符串,就读取出来了,