java在文本区输出方法_Java文件的几种读取、输出方式
1、字節流----對文件讀取(速度慢)
/**
* 字節流---文件的讀取,輸出(缺點:速度慢)
*
* @throws Exception
*/
@Test
public void testIO1() throws Exception {
// 輸入字節流對象
InputStream in = new FileInputStream("pkg/a.txt");
// 輸出字節流對象
OutputStream out = new FileOutputStream("pkg/b.txt");
//這里定義個字節數組,用來指定每次讀取的字節數
byte[] b = new byte[1024];
int len = -1;
while ((len = in.read(b, 0, b.length)) != -1) {
String str = new String(b, 0, len, "UTF-8");
System.out.println(str);
out.write(b, 0, len);
}
//關閉對象
out.close();
in.close();
}
2、帶緩存的字節流---文件讀取(速度快)
/**
* 緩存字節流---文件讀取,輸出(推薦:速度快)
*
* @throws Exception
*/
@Test
public void testIO2() throws Exception {
BufferedInputStream in = new BufferedInputStream(new FileInputStream("pkg/a.txt"));
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream("pkg/b.txt"));
byte[] b = new byte[1024];
int len = -1;
while ((len = in.read(b, 0, b.length)) != -1) {
String str = new String(b, 0, len, "UTF-8");
System.out.println(str);
out.write(b, 0, len);
}
//刷新緩沖
out.flush();
//關閉流對象
in.close();
out.close();
}
3、字節流reader,這個方法不能指定讀取的字節數(不推薦)
/*
* 字節流reader,不能指定字節長度讀取,不建議使用
*/
@Test
public void testIO3() throws Exception {
InputStreamReader in = new InputStreamReader(new FileInputStream("pkg/a.txt"), "UTF-8");
OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream("pkg/b.txt"));
int len = -1;
while ((len = in.read()) != -1) {
System.out.println(len);
// 寫入文件
out.write(len);
}
out.flush();
in.close();
out.close();
}
4、帶緩沖的字節流讀取方式,readLine()
/**
* 另一種字節流讀取方式----可以提供readLine()的方法,一次讀取一行。
*
* @throws Exception
*/
@Test
public void testIO4() throws Exception {
BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream("pkg/a.txt"), "UTF-8"));
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("pkg/b.txt"), "UTF-8"));
String str;
while ((str = in.readLine()) != null) {
System.out.println(str);
out.write(str + "\n");
}
out.flush();
in.close();
out.close();
}
小結:實際在用的過程,肯定是選擇帶有緩沖區的字節流讀取方式,另外能夠指定每次讀取的字節數最好不過了。因此,方式2 推薦使用。
總結
以上是生活随笔為你收集整理的java在文本区输出方法_Java文件的几种读取、输出方式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle java 绑定变量的值_O
- 下一篇: JavaWeb结合七牛云存储搭建个人相册