Java读取文本文件的内容
文本内容如下:
下面展示一些 内联代码片
。
package my;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
public class Readtext {
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
//用于存储文本字节的数组
byte[] buffer = new byte[10000];
File file = new File("D:/诗词/诗词1.txt");//创建一个file对象
//从文件中读取数据,放到buffer数组中
InputStream outputStream = new FileInputStream(file);
int n = outputStream.read(buffer,0,10000);//把读取的字节数复制给n
outputStream.close();
//将前n个字节转成字符串
String str = new String(buffer,0,n,"UTF-8");
System.out.println(str);
}
}
运行结果如下。
春夜宴从弟桃花园序
李白
夫天地者,万物之逆旅;光阴者,百代之过客。
而浮生若梦,为欢几何?
古人秉烛夜游,良有以也。
况阳春召我以烟景,大块假我以文章。
会桃李之芳园,序天伦之乐事。
群季俊秀,皆为惠连;吾人咏歌,独惭康乐。
幽赏未已,高谈转清。开琼筵以坐花,飞羽觞而醉月。
不有佳作,何伸雅怀?
如诗不成,罚依金谷酒数。
另一种做法,按行读取内容。
下面展示一些 内联代码片
。
package my;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
public class Dome{
public static void toArrayByInputStreamReader1(String name) {
// 使用ArrayList来存储每行读取到的字符串
ArrayList<String> arrayList = new ArrayList<>();
try {
File file = new File(name);
InputStreamReader inputReader = new InputStreamReader(new FileInputStream(file), "UTF-8");
BufferedReader bf = new BufferedReader(inputReader);
StringBuilder s=new StringBuilder();
// 按行读取字符串
String str;
while ((str = bf.readLine()) != null) {
System.out.println(str);
}
bf.close();
inputReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
Dome t = new Dome();
t.toArrayByInputStreamReader1("D:/诗词/诗词1.txt");
}
}
运行结果如下:
春夜宴从弟桃花园序
李白
夫天地者,万物之逆旅;光阴者,百代之过客。
而浮生若梦,为欢几何?
古人秉烛夜游,良有以也。
况阳春召我以烟景,大块假我以文章。
会桃李之芳园,序天伦之乐事。
群季俊秀,皆为惠连;吾人咏歌,独惭康乐。
幽赏未已,高谈转清。开琼筵以坐花,飞羽觞而醉月。
不有佳作,何伸雅怀?
如诗不成,罚依金谷酒数。